php securité injection
Posté : 04 mars 2011, 10:36
par plopplop
Bonjour!
J'ai développé un certain nombre de site web mais je ne me suis jamais vraiment posé de questions sur la sécurité.
Aujourd'hui j'essaie de me protéger des injections SQL dans mes formulaires.
En faisant quelques tests avec les classique ' OR 1=1 ou autres , je me suis apperçu que le caractere apostrophe était remplacé par \'
Tout ceci est très bien puisque l'injection SQL devient impossible.
Mais la question que je me pose c'est d'où vient cet anti-slash ? du navigateur ou d'un réglage d'apache?
Merci de votre aide!
Re: php securité injection
Posté : 04 mars 2011, 11:19
par stealth35
Re: php securité injection
Posté : 04 mars 2011, 11:31
par plopplop
Merci pour le lien,
donc en bref, c'est un reglage d'apache/php par defaut.
Par contre il est précisé sur le lien que tu m'as donné, que cette méthode est déconseillée et qu'il est préférable de protéger le code directement! Je trouve ça bizarre et très lourd à mettre en place ! M'enfin c'est mon avis :p
bye

Re: php securité injection
Posté : 04 mars 2011, 11:40
par stealth35
c'est une vielle directive, et aussi une vielle pratique, l'option des requête préparer est très simple a mettre en place avec mysqli ou PDO, sinon sous mysql_* te peu en faire grâce a mon petit code :
vos-contributions/faire-des-requetes-pr ... 55960.html
https://github.com/stealth35/mysql_prepare
Re: php securité injection
Posté : 04 mars 2011, 11:43
par Mazarini
Bonjour,
Pour éviter ces problèmes, on peut utiliser mysqli_stmt_bind_param (
http://www.php.net/manual/en/mysqli-stmt.bind-param.php)
Re: php securité injection
Posté : 05 mars 2011, 21:56
par devlop78
Moi, et je ne suis pas le seul :p, je ne peux pas te conseiller les requêtes préparées. Perso, je les utilises que si je répète une requêtes plusieurs fois (réellement ou potentiellement).
Par contre, pour PDO par exemple, même sur des valeurs sûres, j'utilise quote(). Il s'adapte au SGBD. Juste à faire Gaf à ne pas le mettre pour représenter NULL, et selon les SGBD, pour les numériques etc, mais avec Mysql, pas de problèmes.
magic_quotes On, n'est pas une valeur par défaut de Php, mais bien encore une fois une configuration utilisée par trop d'hébergeurs pour les trop nombreux sites d'amateurs qu'ils hébergent. C'est une option gourmande, véritable piège.
Re: php securité injection
Posté : 06 mars 2011, 10:48
par plopplop
merci pour toutes ces précisions

Re: php securité injection
Posté : 07 mars 2011, 15:55
par popy
Par contre il est précisé sur le lien que tu m'as donné, que cette méthode est déconseillée et qu'il est préférable de protéger le code directement! Je trouve ça bizarre et très lourd à mettre en place ! M'enfin c'est mon avis :p
Pourtant, tu ferme ton appart a clef tous les matins sans y penser...