Navigatie link werkt niet meer na PHP504 update
In de index.php is er een navigatiebalk met links die het volgende bevatten:
<td width="150"><font size="1"><a href="index.php?id=website/content/_8">
<font color="#FFFFFF">Leden</font></a>
Voordat mijn provider had geupdate naar PHP 5.0.4 werkte alles gewoon. En werd de gevraagde pagina gewoon geopend in de index.php
Nu echter gebeurt er helemaal niets.
Ik zoek nu al een week naar een oplossing maar vanwege mijn gebrek aan kennis wil ik nu dan toch hulp vragen.
Wie kan mij een duwtje in de goede richting geven?
zou je een stukje code uit index.php kunnen posten?
Waarschijnlijk een $_GET probleem.
<td height="8">
</td>
Het is een slechte gewoonte om meteen een variabele op te roepen die in de querystring zit, en waarschijnlijk staat register_globals nu ook uit.
Dus moet je
$_GET["id"] gebruiken ipv $id. Dan komt gelijk punt twee, wat jij nu hebt is een veiligheidslek. Als ik nu voor id bijv. http://www.evilserver.php/system.php?cmd=ls mee stuur en in dat bestand staat: Zou ik jou server uiteindelijk best kunnen verkloten. Dus doe daar nog ff een htmlentities($_GET["id"], ENT_QUOTES) en het is een stuk beter :).
Code (php)
Netter en veiliger ^^,
Zodra ik kans heb om de tips uit te proberen zal ik ff een bericht achterlaten hoe het is gegaan.
Ik denk trouwens dat filteren op : al genoeg is, aangezien die toch niet in filesystem voor kunnen komen. (behalve op een mac als directory splitsing, al doet \ het hier ook prima)
Kan je de // niet escapen? Dan komt hij wel door de validatie, maar volgens mij filtert hij hem er dan bij de aanvraag zelf weer uit. Weet niet zeker.
escapen kan niet in query string, dat neemt hij dan letterlijk op :). Je kan alleen url encoden :)