Hey allemaal,
Is het verstandig om elke variabele, bijv alle $_GETs te striptaggen?
graag jullie mening hierover
mvg,
340 views
Arjan Kapteijn schreef op 06.04.2006 23:14Onderstaande reactie is een mening, iets wat ik door de tijd heen mijzelf heb aangeleerd. Het zijn mijn 'trucjes', wat ikzelf handig heb. Ik ben geen php-god, ik ben niet iemand die bepaald wat wel of niet goed is. Ik kan echter alleen mijn mening geven. Wat ik post hoeft dus niet perse 'goed' te wezen. Waar wat is goed? Wie bepaald wat goed is?
Ikzelf zorg er eigenlijk altijd voor dat er via de $_GET niks door de gebruiker verzonden kan worden. Als je kijkt naar mijn scriptwerk en/of systemen dan valt je op dat ik in de $GET's alleen maar id's heb. Ik maak ook wel gebruik van teksten, maar dat zijn altijd 'acties' die door een array gedrukt worden...
Die acties liggen vast, en kan niet door de gebruiker veranderd worden. Die id's zijn gemakkelijk te controlleren met een if_numeric. Het zou niet moeten zijn dat iets wat in een GET door de gebruiker kan worden aangepast direct op je webpagina terecht komt...
Voorbeeldje:
<?php
if($_SERVER['REQUEST_METHOD'] == "GET")
{
if(isset($_GET['actie']))
{
$actie = $_GET['actie'];
$acties = array('toevoegen','verwijderen','wijzigen');
if(in_array($actie,$acties))
{
//Voer de actie uit
}else{
echo 'Sorry, deze actie is niet toegestaan!';
}
}
if(isset($_GET['id']))
{
if(is_numeric($_GET['id']))
{
//Goedgekeurd
$id = $_GET['id'];
}else{
echo 'Sorry, dit accepteer ik niet!';
}
}
}
?>
Uiteraard gaat _alles_ eerst door mysql_real_escape_string voordat het mijn database ingaat.