Veiligste manier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Frontend Developer

Dit ga je doen Door ontwikkelen van het online platform Deel uitmaken van verschillende ontwikkelteams Meedenken over UI/UX vraagstukken Uitdragen van Front-end binnen de organisatie Hier ga je werken Deze organisatie, gevestigd in de omgeving van Amsterdam, is een grote onderwijs instelling met meerdere vestigingen en een groot aantal studenten. Zo telt deze organisatie +/- 35.000 gebruikers. Bij deze organisatie staat jouw ontwikkeling centraal en is er veel ruimte voor eigen initiatieven. In samenwerking met jouw team ga jij de online omgeving verder ontwikkelen. In de rol van Front end Developer zal jij 50% van jouw tijd werken in het

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

.NET Developer Shared Driving

Bedrijfsomschrijving Onze klant richt zich op het toegankelijker maken van steden, een fantastisch mooi streven. Hoe ze dat doen? Met eigen ontwikkelde software, waarmee vervoersmiddelen gedeeld kunnen worden. Deze inspirerende werkgever maakt een maatschappelijke impact en dat doen ze nu al zo'n 25 jaar! Het bedrijf is gevestigd in het centrum van Rotterdam en kent ongeveer zo'n 90 medewerkers. Het personeel is lekker gewoon gebleven! Iedereen kleedt zich zoals hij of zij dat zou willen en de sfeer is er erg fijn. Een leuke werkgever om voor te werken, en bovendien zijn er voor jou als Software Developer veel mooie

Bekijk vacature »

C# .NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Ontwikkelen in Blazor; Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie. Hier ga je werken Binnen deze organisatie werken duizenden mensen binnen allerlei verschillende disciplines. Tevens hebben zij veel specialiteiten in huis, waaronder ook .Net Developers. Ter uitbreiding van een nieuw team en ter ondersteuning van het project zijn ze opzoek naar een nieuwe collega voor het team. Als C#.NET Developer zal jij je

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Node.js developer looking for a challenging consul

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

PHP Web Developer

Functie omschrijving Voor een klein softwarebedrijf in de omgeving Roosendaal, zijn wij op zoek naar een PHP web developer met een aantal jaar werkervaring. Wil jij graag werken aan in-house software projecten voor diverse klanten? Voel jij je prettige in een klein team developers, waar jouw inbreng enorm gewaardeerd wordt? Lees dan snel verder! Jouw werkzaamheden zien er als volgt uit: Je wordt verantwoordelijk voor de ontwikkeling van diverse applicaties. Dit kan de ene keer een online platform voor aanbiedingen zijn, en de andere keer een software pakket dat gebruikt wordt om interne processen te automatiseren. Het zijn stuk voor

Bekijk vacature »
Yorick Scheyltjens

Yorick Scheyltjens

31/07/2017 23:31:59
Quote Anchor link
Hallo iedereen

Een jaartje terug ben ik met php beginnen werken.
Ik heb in mijn vrije tijd al veel projecten afgemaakt.

Soms zet ik php scripts in een html bestand en echo de juiste tekst die in de html weergegeven moet worden en soms stuur ik met javascipt een xml request naar een apart php bestand en stuur dan json terug.

Nu is mijn vraag wat de beste, snelste en veiligste manier van werken is?

Alvast bedankt

Groetjes Yorick
 
PHP hulp

PHP hulp

02/01/2025 13:36:56
 
- Ariën  -
Beheerder

- Ariën -

31/07/2017 23:40:06
Quote Anchor link
Het ligt een beetje aan je applicatie die je in elkaar zet, hoe de output verwerkt wordt en eruit moet komen.

Ikzelf heb een eigen MVC frameworkje gebouwd, waarin ik de view in Smarty templates (tegenwoordig zou ik Twig gebruiken) verwerk. Maar als de output JSON is, dan zorg ik gewoon voor die output en heb ik Smarty niet nodig.
 
Pipo Clown

Pipo Clown

31/07/2017 23:56:10
Quote Anchor link
Zo ver ik weet kan je geen PHP-code in een html-bestand gebruiken.
Andersom kan wel.
 
Yorick Scheyltjens

Yorick Scheyltjens

01/08/2017 00:01:43
Quote Anchor link
@Ariën: Mijn applicatie werkt vooral met mysql database.

Met javascript en html bouw ik de website op.
Met php haal ik een variabel aantal gegevens uit de database of voeg data toe.

Ik weet niet welke manier het veiligste tegen hackers.


@Pipo Clown: Ik heb het fout verwoord. Het gaat wel degelijk over een .php bestand. Hierin staat een html/javascipt website met stukjes php script
 
- Ariën  -
Beheerder

- Ariën -

01/08/2017 00:13:29
Quote Anchor link
Het maakt niet uit welke manier je toepast, als je maar op bewust bent op veiligheidsfouten.

@Pipo: Dat kan wel met dit in htaccess: "AddType application/x-httpd-php .html .htm", maar het is best zinloos. Als je html-extenties wilt tonen kan je je beter richten op mod_rewrite waarmee de URL alleen maar herschrijft.
 
Thomas van den Heuvel

Thomas van den Heuvel

01/08/2017 01:22:38
Quote Anchor link
Zolang je je bedient van het adagium filter input, escape output kom je een heel eind.

Wat houdt dit in?

Filter Input
Indien je bepaalde invoer en/of invoer van een bepaalde vorm verwacht, bijvoorbeeld je verwacht een numerieke querystring-variabele "id" op grond waarvan je een database-item laadt, dan controleer en filter je hier op. Je controleert dus zowel op het bestaan van $_GET['id'] en ook of deze variabele een numerieke waarde bevat (dit kan op verschillende manieren). Indien NIET aan deze voorwaarden is voldaan zou je applicatie een fout moeten genereren of zou deze dit moeten ondervangen. Het heeft in ieder geval geen zin om bijbehorende query uit te voeren, want $_GET['id'] is niet beschikbaar of ongeschikt.

Dit principe geldt ook voor de verwerking van formulier-invoer, initialisatie van gegevens et cetera. Eigenlijk zou je in alles wat je doet jezelf moeten afvragen: moet ik hier filteren / iets controleren?

Escape Output
Dit is eigenlijk de tegenhanger van filter input. Ten eerste moet je je te allen tijde bewust zijn van het feit dat je altijd in een context werkt. Bijvoorbeeld je bent een HTML-document aan het opbouwen, dan ben je in de HTML-context bezig. Of je doet iets met JavaScript (JS-context) of je bent een query aan het opbouwen (SQL-context).

In al deze contexten zijn er speciale karakters die speciale betekenissen hebben. Denk bijvoorbeeld aan de karakters <, >, & en " in HTML. Deze hebben mogelijk een betekenis die verder voert dan bijvoorbeeld enkel "het kleiner dan teken". Dit kan het begin zijn van een HTML-tag. Vaak is het verstandig om dit soort speciale karakters te ontdoen van hun speciale betekenis binnen die context. Te meer als deze invoer afkomstig is van eindgebruikers (User Input).

Elke context heeft speciale escaping-functies om data te ontdoen van de speciale betekenis die deze data mogelijk heeft. Zo is daar htmlspecialchars() voor het onschadelijk maken van HTML en de _real_escape_string() functies voor MySQL.

Het is echter HEEL BELANGRIJK dat deze escaping-functies op de juiste manier toegepast worden. De correcte werking van het escapen van data hangt namelijk nog van iets anders af: de character encoding. Dit is de opslagmethode van data in het geheugen. Afhankelijk van de character encoding kan een karakter (bijvoorbeeld ë) verschillende encoderingen (representaties in het geheugen) hebben, maar op je scherm zie je nog steeds een ë, mits je document voorzien is van een aanduiding van een overeenkomstige character encoding, bijvoorbeeld door middel van een meta-tag of een PHP header().

De beste manier is om altijd expliciet te vermelden om welke character encoding het gaat.

Ingeval van PHP waarbij je html wilt escapen met behulp van htmlspecialchars() kun je dit aangeven d.m.v. de derde parameter.

Ingeval je iets wilt escapen in een SQL-string (om het onderscheid te maken tussen SQL en DATA om zodoende SQL-injectie te voorkomen) moet je bij het maken van een connectie aangeven in welke character encoding je wenst te communiceren. Dit doe je doorgaans door middel van een _set_charset() methode net na het maken van een connectie of door een charset-parameter op te nemen in je DSN indien je van PDO gebruik maakt. De character encoding instellen na afloop van het maken van een connectie met behulp van SET NAMES of iets dergelijks is de verkeerde manier!

En om dingen nog complexer te maken dien je _real_escape_string() functies ALTIJD te gebruiken in combinatie met quotes. Het een is namelijk niet veilig zonder het ander, de _real_escape_string() functies zijn namelijk geen wondermiddel en ESCAPEN NIETS ALS ER NIETS TE ESCAPEN VALT.

Als je op enigerlei wijze de volgende string in een query kunt krijgen dan is SQL-injectie mogelijk als je wel _real_escape_string() toepast, maar geen quotes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
OR 1=1

Dit komt namelijk omdat _real_escape_string() geen karakters escaped in bovenstaande string. Deze DATA zal dus (door het ontbreken van extra quotes) als SQL geinterpreteerd worden waarmee de SQL-injectie in principe is geslaagd.

En tot slot: Never Trust User Input. Simpelweg omdat je gebruikersdata eenmaal in je database hebt gekregen wil niet zeggen dat deze ineens onschadelijk is dus wanneer je deze weer uitleest (om bijvoorbeeld in een HTML-document te worden weergegeven) begint het spel opnieuw: deze zal opgehaald moeten worden met de character encoding die je in het document wilt gebruiken en zal vervolgens in overeenkomstige character encoding ge-escaped moeten worden bij het weergeven, tenzij je de gebruiker voldoende vertrouwt en/of dat het daadwerkelijk de bedoeling is dat deze zelf HTML kan schrijven. Er zijn natuurlijk altijd uitzonderingen mogelijk maar deze zouden dan wel gedocumenteerd moeten worden.
Gewijzigd op 01/08/2017 01:28:43 door Thomas van den Heuvel
 
Yorick Scheyltjens

Yorick Scheyltjens

01/08/2017 17:18:24
Quote Anchor link
@Thomas van den Heuvel

Bedankt voor je uitleg.

Ik had al een beetje gehoord over deze veiligheidsfuncties maar ik wist nooit wanneer ik deze moest gebruiken. Nu weet ik het dus wel.

Als ik je uitleg goed begrijp, maakt het eigenlijk niet uit of ik werk met een aparte php pagina of niet?
Ik moet gewoon altijd zorgen dat mijn data niet gehackt kan worden?

Of heb ik het fout begrepen?
 
Thomas van den Heuvel

Thomas van den Heuvel

01/08/2017 19:30:42
Quote Anchor link
Hoe je de (pagina-)opbouw van je website organiseert en hoe je deze beveiligt zijn in principe twee verschillende dingen ja. Wel moet je je natuurlijk bewust zijn van het feit dat alles wat in de publieke webdirectory staat opvraagbaar is (tenzij je directories, bestanden en/of bestandstypen afschermt met bepaalde voorzieningen maar je zou dit soort gevoelige bestanden natuurlijk ook buiten de publieke webdirectory kunnen parkeren).

Je hoeft er niet per se voor te zorgen dat je data niet gehacked kan worden in die zin dat je op voorhand alles desinfecteert met DDT zodat alles morsdood is - escape-on-input bijvoorbeeld (data op voorhand permanent onschadelijk maken) is meestal niet wenselijk (omdat je af en toe niet weet in welke context deze gebruikt gaat worden, op voorhand escapen voor een specifieke context is dan ook niet verstandig).

Wel moet je er voor zorgen dat je er altijd rekening mee houdt dat deze data potentieel gevaarlijk is, en vervolgens neem je passende maatregelen (waar nodig input filtering en output escaping).

Op het moment dat deze bewustwording er is, en je je altijd elke keer afvraagt "hee, dit is data uit bron X, moet hier iets speciaals mee" (en hier vervolgens op acteert, uiteraard) dan ben je al een heel eind.
Gewijzigd op 01/08/2017 19:31:47 door Thomas van den Heuvel
 
Yorick Scheyltjens

Yorick Scheyltjens

03/08/2017 21:59:27
Quote Anchor link
Bedankt voor je uitleg. Het heeft me echt verder geholpen.

Ik heb nog één vraag.

Je zei dat inhoud in je webdirectory altijd opvraagbaar is.
Kan je php code dan ook opvragen?
 
Ben van Velzen

Ben van Velzen

03/08/2017 22:37:55
Quote Anchor link
De code niet, maar scripts an sich zijn direct aan te roepen. Dat is iets om mee rekening te houden.
 
- Ariën  -
Beheerder

- Ariën -

03/08/2017 22:59:16
Quote Anchor link
Als de scripts voorzien zijn van .php extentie op het eind, dan is alles vrij veilig. Dus geen .inc als extentie, bij includes, wat soms nog wel eens gebeurt. Dat kan je dan moeiteloos uitlezen.

Maar je moet wel rekening houden dat je geen lekken openzet waarmee mensen files op de server kunnen uitlezen, zoals bijvoorbeeld met $_GET i.c.m. met file-functies.
Gewijzigd op 03/08/2017 22:59:45 door - Ariën -
 
Yorick Scheyltjens

Yorick Scheyltjens

04/08/2017 12:42:38
Quote Anchor link
Al mijn vragen zijn nu beantwoord.

Bedankt iedereen!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.