Hoe kun je een externe value die door de gebruiker is ingevoerd, bijv. een POST of een GET parameter het beste 'opschonen'?

Stel je krijgt bijv. een $_POST['foo'] binnen. Hoe ontdoe ik die $_POST['foo'] dan van eventuele schadelijke karakters?
Mja, maar als ik een integer wil en verwacht wil ik geen array met integers :p.
nee ... dus hoe controleer je daar dan op? :)
Maar volgens Rob triggert die een foutmelding in je error log als het een array is, en dat wil je niet.
Nee, dat snap ik ... maar als iemand er een array van maakt, zorgt dat nu dus ervoor dat je een foutmelding in je error log krijgt.
And I would want this why? Invoer was niet van goede formaat --> don't care, einde oefening.
Klopt ... maar jouw error log krijgt nu een melding ... een technische error, terwijl het geen technische error is maar gebruikersinvoer error. Het lijkt dus alsof er in de code iets niet goed gaat, terwijl dat niet aan de orde is ... of misschien ook wel omdat er blijkbaar geen rekening mee is gehouden dat het ook een array kan zijn.
@Thomas: Stel jouw URL is index.php?id=5. Als ik dan index.php?id[]=5 doe is $_GET['id'] opeens een array. Dat geeft een Warning in je PHP log, en dat wil je niet (ik niet althans - mijn logs moeten altijd helemaal schoon zijn, zodat alles wat er wel inkomt aangeeft dat er "iets aan de hand is" - een log met een paar miljoen Warnings "die je gewoon kunt negeren" heeft geen functie).
@Rob

Dat is inderdaad wat ik ook bedoelde.

Reageren