Est-ce une idée bonne ou stupide d'assainir toutes les données qui pourraient être sqljected? J'ai écrit une fonction qui devrait le faire, mais je ne l'ai jamais vu faire et je me demandais si c'était une mauvaise idée. La fonction que j'ai écrite:Fonction PHP pour assainir toutes les données
function sanitizeData()
{
$_SERVER['HTTP_USER_AGENT'] = mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']);
foreach(array_keys($_COOKIE) as $key)
{
$_COOKIE[$key] = mysql_real_escape_string($_COOKIE[$key]);
}
foreach(array_keys($_POST) as $key)
{
$_POST[$key] = mysql_real_escape_string($_POST[$key]);
}
foreach(array_keys($_GET) as $key)
{
$_GET[$key] = mysql_real_escape_string($_GET[$key]);
}
}
Comment est-ce différent de citations magiques, que tout le monde a un problème? Ne fais pas ça. –
Vous ne devez jamais écraser des superglobales. Vous pouvez, mais cela conduit à des failles de sécurité dans le passé (bugs internes PHP) et n'est pas recommandé. –