$_SERVER['REQUEST_URI'] waarom gebruiken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

Bekijk vacature »

.NET Developer

Functie omschrijving Ervaren .NET Developer gezocht! Wij zoeken een ervaren .NET developer die aan de slag gaat voor een softwarebedrijf in de regio Rhenen. In deze rol ben jij zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Daarnaast houdt jij je bezig met de nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en product specialisten om mooie producten te creëren. Bedrijfsprofiel Waar kom je te werken? Je komt te werken voor snelgroeiende softwareleverancier en allround dienstverlener. Klanten van deze

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

PHP Developer

Dit ga je doen Je werkt nauw samen met het websitebureau aan de ontwikkeling en optimalisering van het internationale platform; Je ziet nieuwe webshops op en voert optimalisaties door; Je bouwt aan technische, functioneel en commercial resultaat; Je vindt het leuk om zelfstandig binnen een internationale organisatie te werken, maar krijgt ook energie om samen met collega's te werken. Hier ga je werken Voor een bedrijf in de regio Rotterdam zijn wij opzoek naar een PHP Developer. Je wordt onderdeel van het communicatieteam en gaat je bezighouden met het optimaliseren van de website van dit internationale bedrijf. Je schakelt veel

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 »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

Bekijk vacature »

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

Bekijk vacature »

Junior Java Developer

Dit ga je doen Je ontwikkelt innovatieve, maatschappelijk belangrijke applicaties; Je implementeert nieuwe features; Je gaat in gesprek met eindgebruikers en designers om de applicaties continu te finetunen; Je draait mee in een professionele Agile/Scrum omgeving. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de omgeving van Amsterdam. Ze staan zeer goed bekend in de markt door hun innovatieve dienstverlening op IT gebied en hun gepassioneerde werknemers. Voor hun inspanningen op het gebied van IT hebben ze meerdere prijzen gewonnen! Onze klant is onderdeel van een Corporate werkgever en heeft zelf 300 mensen in dienst. Om

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 »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »
Ruben D

Ruben D

02/01/2018 21:57:24
Quote Anchor link
Hallo allemaal,

Ik wou net een form maken zoals ik al vele keren gedaan heb en ik zie dikwijls dat ($_SERVER['REQUEST_URI'] of $_SERVER['PHP_SELF'] worden gebruikt.

Nu is mijn vraag, waarom zou je dat gebruiken? Dit moet je filteren omdat je anders vatbaar bent voor een XSS aanval.

Je kan het ook leeg laten maar dan ben je kwetsbaar voor iframe aanval, en het is ook niet geldig voor html5.

Waarom dan niet gewoon de naam hardcoded erin zetten? (file.php)
 
PHP hulp

PHP hulp

05/11/2024 16:24:44
 
- Ariën  -
Beheerder

- Ariën -

02/01/2018 22:05:16
Quote Anchor link
Kwetsbaar voor een iframe aanval? Ik ben benieuwd.
Opsich kan je je daar met headers al redelijk tegen wapenen.
Je mag die action ook weghalen.
 
Thomas van den Heuvel

Thomas van den Heuvel

03/01/2018 01:06:53
Quote Anchor link
Ruben D op 02/01/2018 21:57:24:
Nu is mijn vraag, waarom zou je dat gebruiken? Dit moet je filteren omdat je anders vatbaar bent voor een XSS aanval.

Kun je dit ook uitleggen aan jezelf of aan een ander wat dit precies inhoudt? Of heb je dit ergens gehoord?

Je kunt $_SERVER parameters altijd escapen in de HTML-context met functies als htmlspecialchars().

Daarnaast zou je ook een link-functie of andere functionaliteit kunnen schrijven die interne applicatie (hyper)links genereert zodat je in het geheel niet afhankelijk bent van $_SERVER (en dit heeft ook andere voordelen, zie hieronder).

Ook zou de action niet de enige beveiliging tegen XSS moeten zijn. Het is altijd beter om op meerdere paarden te wedden als het om veiligheid gaat.

Je zou bijvoorbeeld een token kunnen opslaan in een sessie en deze meeposten met het formulier. Bij verwerking leg je deze twee weer naast elkaar. Zijn deze niet hetzelfde stuur je de gebruiker terug naar het formulier.

Ruben D op 02/01/2018 21:57:24:
Waarom dan niet gewoon de naam hardcoded erin zetten? (file.php)

Hardcoding is niet altijd aan te bevelen.

Maar het hangt er helemaal vanaf waar je het formulier voor gebruikt. Je kunt niet op voorhand een soort universele wetmatigheid opstellen. En als die er zou zijn, zou het action-veld ofwel verplicht zijn ofwel niet bestaan nietwaar? Het beste wat we kunnen doen is op grond van een concreet voorbeeld een advies geven.

Persoonlijk zou ik alles altijd zo expliciet mogelijk maken, zodat er geen ruimte voor interpretatie over blijft. Oftewel, ik zou in de action een volledige (en ge-escapete) URL opgeven die dynamisch wordt gegenereerd op grond van een of andere logica zodat, als je dit formulier (of de site) ooit verplaatst, de URL automatisch meeverandert. Op die manier heb je er verder ook geen omkijken meer naar. Dit is ook altijd compleet ondubbelzinnig.

EDIT: als dit een standalone script is (een contactformulier ofzo): doe je ding. Als dat ding helemaal op zichzelf staat en niet onderdeel is van een dynamisch gegenereerde website kun je prima de action hardcoden. Ik zou je wel als tip geven om de verschillende acties (het tonen van een formulier -al dan niet met foutmeldingen van een vorige submit-, het verwerken van een formulier, het tonen van een bedankpagina) te compartimenteren. Je wilt niet een halve HTML-pagina uitgedraaid hebben terwijl je een formulier aan het verwerken bent. Dat wordt vaak gewoon één grote onoverzichtelijke brei. Maar nogmaals, dit hangt van de toepassing af...
Gewijzigd op 03/01/2018 01:15:24 door Thomas van den Heuvel
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/01/2018 09:06:16
Quote Anchor link
>> Je kan het ook leeg laten maar dan ben je kwetsbaar voor iframe aanval, en het is ook niet geldig voor html5.

In html5 mag je het action attribuut helemaal weglaten.

Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post"> <!-- HTML5 VALID -->
 
Ruben D

Ruben D

03/01/2018 16:49:33
Quote Anchor link
Ik ben bezig met een CMS, vandaar de vragen over veiligheid.
Als ik kijk naar php scripts zie ik veel gebruik de server variabel maar zelf deed ik altijd hardcoded gelijk process.php die het dan in een database zet ofzo.

Heb wat op google zitten zoeken naar kwetsbaarheden met dit variabel en toen begon ik mij dit af te vragen.
 
Thomas van den Heuvel

Thomas van den Heuvel

03/01/2018 19:08:12
Quote Anchor link
Ruben D op 03/01/2018 16:49:33:
een CMS

Maar dan heb je toch wel een functie o.i.d. voor het bouwen van hyperlinks voor (interne) navigatie? Dit lijkt mij een van de pijlers waarop een CMS gebouwd zou moeten zijn (een fatsoenlijke interne structuur).

Daarbij, de REQUEST_URI gebruik je meestal om uit te zoeken waar je je bevindt, en niet zozeer waar je naartoe gaat.

Volgens mij is de REQUEST_URI ook "rauw", dus het kan sowieso geen kwaad om hier een urldecode() overheen te gooien.

Maar nu ik er over nadenk: ik zou in eerste instantie de REQUEST_URI niet gebruiken in een form action.
 



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.