Page 1 sur 1

anti injection et nombres

Posté : 29 juil. 2007, 11:17
par yuuzhantar
Bonjour

j'aurais besoin de votre avis
je me penche beaucoup sur la sécurité de mon site et je voulais savoir si, pour protéger mon site contre les injections sql, vous feriez comme moi :

pour les variable qui doivent etre des nombres dans mon schéma de données, pour empécher une injection, ce que je fais c'est que je le force en int :
$var=$_POST['var'];
$var=(int)$var
pensez vous que c'est une bonne méthode ?

merci

Posté : 29 juil. 2007, 11:33
par Hywan
Bonjour,

le casting (transtypage dans la langue de Molière) est évidement l'une des meilleures méthodes pour se protéger. Si tu veux travailler sur des entiers, tu peux appliquer une expression régulière pour enlever tout ce qui n'est pas des chiffres, mais ce serait un filtre. Si tu ne veux pas filtrer, mais forcer le typage, alors faire un cast me paraît le plus conseiller.

Pour des économies d'écritures, tu peux faire :
$var = (int) $_POST['var'];
Il faut voir en fonction des cas. Si tu veux une chaîne de caractères, faire un cast (string) sur une chaîne ne va pas sécuriser grand chose. Et il faut voir si tu veux filtrer ou non. Mais le cast reste de loin la meilleure méthode amha.

Posté : 29 juil. 2007, 11:34
par yuuzhantar
d'accord

merci bien

Posté : 29 juil. 2007, 11:49
par Hubert Roksor
Mmh, puisque tu es sous 5.2, pourquoi ne pas utilser l'extension dédiée au filtrage ?