Veiligste manier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Graduate Class DevSecOps

Graduate Class DevSecOps - Start 1 Maart 2022 Functiebeschrijving: Ben jij een net afgestudeerde IT-er of startende IT-er én nog niet uitgeleerd? Wist je dat uitdagende projecten en opleidingsmogelijkheden de basis vormen van een succesvolle carrière in de IT? Dan zit je bij goed bij CGI! Wij hebben namelijk de slagkracht en de grootte om zelfs de meest ambitieuze IT-carrières vorm te geven. Doordat wij een stabiele en groeiende organisatie zijn, kunnen wij je uitstekende kansen bieden om in een ondersteunende omgeving te werken aan projecten die daadwerkelijk impact hebben op onze wereld. Wat houdt de Graduate Class DevSecOps in?

Bekijk vacature »

DevOps Cybersecurity Engineer

DevOps Cybersecurity Engineer Position Description: Kun je denken als een hacker en problemen oplossen als een engineer? Wil je meewerken aan de veiligheid en weerbaarheid van de software van onze klanten? Wat ga je doen? Als DevOps Cybersecurity Engineer maak je deel uit van een gedreven club professionals. Je bent proactief en je hebt een technische hands-on aanpak. Je bent verantwoordelijk voor het analyseren van de software development van onze klanten, het identificeren van security risico’s en implementeren van verbeteringen. Je bent goed op de hoogde van de laatste ontwikkelingen op het gebied van continuous delivery en deployment, secure code

Bekijk vacature »

Low Code ontwikkelaars gezocht - Remote werken!

Bedrijfsomschrijving De organisatie waarin jij terecht gaat komen staat bekend om hun fijne manier van werken, plezier staat hier voorop! Waar het bij deze organisatie uiteindelijk om draait: het bieden van mooie oplossingen waarbij techniek, gebruiksvriendelijkheid en design voorop staan. Medewerkers van dit bedrijf werken zo nu en dan bij opdrachtgevers op locatie om zo in samenspraak met de klant tot de beste oplossing te komen. Het grootste gedeelte van je werk kan echter volledig vanuit huis gedaan worden! Deze opdrachtgever heeft 2 fysieke vestigingen waar je zo nu en dan verwacht wordt, het grootste gedeelte van je werk kan

Bekijk vacature »

Junior .NET Ontwikkelaar

Wie zijn wij? Als ervaren leverancier van oplossingen voor industriële technologie wil ICT Netherlands de wereld elke dag een stap slimmer maken. Onze toegewijde technische professionals voorzien klanten van diensten op het gebied van consultancy, softwareontwikkeling, projectmatige oplossingen en managed services. In het kort Als junior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. We werken bij en voor klanten in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft

Bekijk vacature »

PHP Developer (medior)

Als PHP developer werk jij mee aan de uitbreiding van onze SaaS applicatie. Je bouwt aan nieuwe functionaliteiten, verbetert ons Content Management Systeem op basis van Symfony en optimaliseert de gebruiksvriendelijkheid. Je werkt aan een mooi product dat continu uitgebreid wordt en de potentie heeft om de wereld over te nemen! Naast het meewerken aan de uitbreiding van onze SaaS applicatie, werk je ook aan specifieke modules voor onze klanten. Klanten als Scania, Fletcher Hotels, Gamma of Aditech hebben jouw hulp nodig! Wil jij meewerken om onze ambitie waar te maken? We bieden: Een salaris tussen € 2200 en €

Bekijk vacature »

Medior .NET Developer Werken tussen de beste devel

Bedrijfsomschrijving Deze organisatie, opgericht in 2015, richt zich op het bouwen van oplossingen op het gebied van software development voor haar klanten, onderscheidt zich van haar concurrenten door haar ontzettend heldere en persoonlijke werkwijze. De sfeer binnen het bedrijf is informeel en medewerkers staan centraal. Er wordt hier niet van je verwacht dat je elke dag in pak bij de eindklant zit, maar er wordt van je verwacht dat jij samen met de eindklant werkt naar een oplossing, op de manier die volgens jou het beste is. Verder staat deze partij voor heldere communicatie met haar klanten, korte lijnen, snel

Bekijk vacature »

HANA Developer

Our client leads the worldwide development, production and sales of high-end lithography systems for the semiconductor industry. In short, we make the machines that make computer chips, or integrated circuits. We build some of the most amazing, complex machines that you will ever see – and the software to run them – to develop smaller, faster and still more affordable chips. It is because of our machines that the world’s technology has steadily evolved. This role is situated in the Big Data Analytics (BDA) Domain, specifically in Corporate Analytics. Our teams have mixture of young talent and senior specialists and

Bekijk vacature »

Medior/Senior Software Developer - Ruby/Elixer

Being a Ruby/Elixir Developer at T-Mobile is an exciting and varied job that touches different facets of both the customer fulfillment & assurance processes and the network infrastructure here at T-Mobile. The ‘Digital Orchestration’ team is the gateway between the commercial customer services and the implementation of those in our networks and on our service platforms. This encompasses internet access, TV and voice services for our consumer domain and internet access, connectivity and hosted voice/mobile connect services for our extended business line. The SCRUM team that you’ll join is developing and maintaining software that handles all the transactions towards our

Bekijk vacature »

Mendix Ontwikkelaar - Financial Services

Mendix Ontwikkelaar - Financial Services Functiebeschrijving: Ben jij een Mendix Ontwikkelaar? Bij onze CGI Low Code Delivery Center krijg je een baan met inhoud! Werk dat ertoe doet, zoals het: Razendsnel ontwikkelen van slimme innovatieve maatwerk applicaties waarmee we onze klanten een voorsprong geven ten opzichte van hun concurrenten; Meedenken met de klant en analyseren wat er nodig is: je ziet kansen en mogelijkheden! Wat ga je doen? Als ervaren Mendix Developer begeleid en adviseer je onze klanten bij hun aangegeven business problematiek. Hierbij denk je buiten de gevestigde kaders en weet je optimaal gebruik te maken van de mogelijkheden

Bekijk vacature »

DevOps Engineer (CI/CD) - Public Transport

DevOps Engineer (CI/CD) - Public Transport Functiebeschrijving: Houd je van complexe uitdagingen in een dynamische omgeving? Ben je proactief en niet bang om uit je comfort zone te treden? Wil je belangrijk en impactvol werk doen en daarbij alle ruimte krijgen om je te ontwikkelen en je stempel te drukken? Dan zijn we op zoek naar jou! Wat ga je doen? Als DevOps Engineer ben je onderdeel van het team dat werkt aan platform infrastructuur diensten van onze klant. Daarnaast werk je aan de software automatisering tools om de software naar de devbenches, testmuren en vervoersdiensten te deployen. Je kunt

Bekijk vacature »

Java developer (medior & senior)

Op zoek naar leuke collega's waarmee je kunt lachen, gave projecten en een ambitieuze werkgever die heel goed voor je zorgt? Aangenaam: Profit4Cloud! Wij zijn nu met 55 collega's en werken sinds 2015 vanuit 5 vestigingen aan mooie projecten met een fijne groep collega's die allemaal maar één ding willen: mooie en slimme software-oplossingen ontwikkelen met de nieuwste technieken. We zijn goed bezig en zijn daarom op zoek naar versterking: Java Software Engineers met ervaring in back-end en front-end software ontwikkeling. Ben jij de Java Software Engineer die enthousiast wordt van mooie projecten waar binnen jij een belangrijke rol speelt?

Bekijk vacature »

Oracle APEX Developer centraal in het land

Bedrijfsomschrijving Mijn opdrachtgever kan per direct versterking gebruiken van een Medior en/of Senior Oracle Apex specialist. Deze organisatie is in een rap tempo uitgegroeid tot een professionele organisatie met informeel karakter waardoor jij je als werknemer ook echt gewaardeerd voelt. Deze organisatie is het type bedrijf waar je als ondernemende developer graag voor wil werken omdat je zo veel kanten op kunt gaan. Het team van ongeveer 15 specialisten werken samen aan projecten middels de nieuwste Oracle technieken. Functieomschrijving Als Oracle/Apex developer werk je hier voor opdrachten in verschillende sectoren. In feite zorg jij voor de implementatie van de Oracle

Bekijk vacature »

Junior Applicatiebeheer/ ontwikkelaar .NET

Wie zijn wij? Als ervaren leverancier van oplossingen voor industriële technologie wil ICT Netherlands de wereld elke dag een stap slimmer maken. Onze toegewijde technische professionals voorzien klanten van diensten op het gebied van consultancy, softwareontwikkeling, projectmatige oplossingen en managed services. In het kort Als junior applicatiebeheerder én ontwikkelaar ga je aan de slag binnen ons team outsourced services. Samen nemen jullie het beheer van software uit handen van onze klanten en zorgen ervoor dat hun applicaties blijven draaien. Ook ga je aan de slag met aanpassingen in de software en zorg je er voor dat de software blijft aansluiten

Bekijk vacature »

Scrum Master - Telecom en Media

Scrum Master - Telecom en Media Position Description: Ben jij een digital transformer? Dan nodigen wij jou uit om verder te lezen! Wat ga je doen? Als Scrum Master binnen Telecom & Media, help je onze klanten de Agile werkwijze eigen te maken door het begeleiden en ondersteunen van scrum teams. Je coacht product owners en teamleden bij het behalen van hun korte en lange termijn doelstellingen. Je begeleidt het team en geeft gevraagd en ongevraagd constructieve feedback om de werkwijze continu te verbeteren. In deze rol begeleid je één of meerdere scrum teams en help je met het prioriteren

Bekijk vacature »

Ruby/Elixir Developer FIXED & INTERIM

What are you going to do? Being a Ruby/Elixir Developer at T-Mobile is an exciting and varied job that touches different facets of both the customer fulfilment & assurance processes and the network infrastructure here at T-Mobile. The department we called ‘Digital Orchestration’ is the gateway between the commercial customer services and the implementation of those in our networks and on our service platforms. This encompasses internet access, TV and voice services for our consumer domain and internet access, connectivity and hosted voice/mobile connect services for our extended business line. The SCRUM team that you’ll join is developing and maintaining

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

18/01/2022 03:05:08
 
- 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.