03-02-2009, 10:53 AM
La solution la plus simple est de désactiver les magic quotes à l'aide d'un .htaccess contenant le code :
Sinon, tu peux te faire une fonction secureString qui… sécurisera tes chaînes, et cela sans être dérangé par les magic quotes.
Mais peut-être que la faille n'est pas là. Cela dit, ce sujet est une très bonne démonstration qui montre que l'utilisation d'une fonction personnalisée ou mieux, d'une classe (qui étend PDO, par exemple). Ça fait un exemple concret de plus pour expliquer l'intérêt des fonctions et de l'objet.
Tu n'as plus qu'à écrire une fonction (genre query($string)) qui prend en argument une chaîne (la requête), écrit dans un fichier que l'utilisateur X (son id est récupéré depuis la session) a effectué la requête donnée puis qui retourne mysql_query($string) avec la requête demandé.
Sephi-Chan
Code :
php_flag magic_quotes_gpc Off
Sinon, tu peux te faire une fonction secureString qui… sécurisera tes chaînes, et cela sans être dérangé par les magic quotes.
fuction secureString($string){
if(get_magic_quotes_gpc() === 1){
return mysql_real_escape_string(stripslashes($string));
}
return mysql_real_escape_string($string);
}
Mais peut-être que la faille n'est pas là. Cela dit, ce sujet est une très bonne démonstration qui montre que l'utilisation d'une fonction personnalisée ou mieux, d'une classe (qui étend PDO, par exemple). Ça fait un exemple concret de plus pour expliquer l'intérêt des fonctions et de l'objet.
Tu n'as plus qu'à écrire une fonction (genre query($string)) qui prend en argument une chaîne (la requête), écrit dans un fichier que l'utilisateur X (son id est récupéré depuis la session) a effectué la requête donnée puis qui retourne mysql_query($string) avec la requête demandé.
Sephi-Chan