Dat ze een nieuwere versie van het script moeten nemen en/of een script met dezelfde functionaliteit dat het niet nodig heeft. Kom nou zeg,.. allow_url_fopen en register_globals staan bij mij standaard dicht.
Afdrukvoorbeeld
Het heeft er toch wel echt mee te maken. Register globals op 'On' opent de deur voor crackers maar dat soort functies geeft ze pas echt power om wat te doen. Een cracker kan bijvoorbeeld variabelen zo aanpassen dat er een remote page geinclude wordt ipv een lokale pagina. Daarom zou ik allow_url_fopen uitzetten. Stap twee is dat die remote page weer code ophaalt en op de server opslaat. Meestal zijn dat een soort toolkits waarmee de cracker direct unix commando's kan uitvoeren en bestanden kan uploaden naar de server om die vervolgens met exec e.d. uit te voeren.
Ik ben het niet eens met de stelling dat het een van de belangrijkste instellingen is voor de veiligheid. Het geeft een schijngevoel van veiligheid. Slechte code is nog steeds op deze manier te misbruiken en helaas schrijft het merendeel van je klanten slechte code. Dat is ook de reden dat dit in PHP6 verdwijnt. Het is een hele "foute" feature geweest die er sowieso niet in zou moeten zitten ;)
Maar vandaar dus dat ik al deze functies uitzet. Alleen over allow_url_fopen hoor ik wel eens wat, maar dan kun je de klant laten zien hoe de curl library werkt, hetgeen een stuk veiliger is.