|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Clémentine Inscription : juin 2006 Messages : 128 ![]() |
Bonjour,
J'utilise pour la première fois PDO. J'ai compris que les requêtes préparées sécurisées des injections SQL. j'utilise le code suivant pour modifier un mot de passe d'un utilisateur: Code :
1 Le code est-il sécurisé (passer des _SESSION ou $_POST en variable à la reqête préparée ne pose pas problème)? 2 Si je mets via un formulaire le mot de passe : "l'arc" je m'attendais à voir dans la base "l\'arc" et que le ' soit échappé par PDO. Or dans la base je vois "l'arc". Est-ce normal ? Merci |
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
je t'invite a voir a quoi correspond les requêtes préparées
http://dev.mysql.com/doc/refman/5.0/fr/sqlps.html par contre : Code :
$retour=$req->fetch(PDO::FETCH_ASSOC);
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
le echo dans le catch ne sert pas à grand chose non plus, il ne va pas arrêter l'exécution du code qui plantera après sur le prepare(), il vaut mieux faire un die
|
|
|
00
|
|
|
#4 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
Citation:
mais c'est pas die mais exit
__________________
http://blog.stealth35.com/ |
|
|
|
01
|
|
|
#5 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
bah c'est son alias non ?
|
|
|
00
|
|
|
#6 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
ouai justement, c'est déconseiller d'utiliser les alias
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#7 | |
|
Membre à l'essai
![]() Clémentine Inscription : juin 2006 Messages : 128 ![]() |
Code :
$retour=$req->fetch(PDO::FETCH_ASSOC); Et pour mes 2 questions car même après avoir lu ta doc stealth35 j'ai toujours des interrogations: Citation:
Je débute en php |
|
|
|
00
|
|
|
#8 | ||
|
Membre du Club
![]() Thibaut LEFEBVREFinance Inscription : octobre 2009 Messages : 123 ![]() |
Salut tout le monde,
Perso, il m'arrive de passer des $_SESSION directement dans le array() du style Code :
Après pour le $_POST, j'utilise extract($_POST); du coup, ça me passe tout en variable et c'est plus simple je trouve (et sans doute plus sécurisant... mais ça je n'en suis pas tout à fait sûr...) |
||
|
01
|
|
|
#9 |
|
Membre Expert
![]() ![]() Tiger Scott Développeur Web Inscription : juin 2006 Messages : 1 245 ![]() |
Salut,
tu peux aussi passer par bindValue php.net/manual/en/pdostatement.bindvalue.php j'aime bien cette methode car tu peux preciser s'il s'agit d'un int ou d'un string...
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins. N'oubliez pas le Le tag resolu. Need_! |
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Clémentine Inscription : juin 2006 Messages : 128 ![]() |
Mon code est donc sécurisé (SQL injection entre autres) ?
J'avais peur que le fait de passer en paramètre de ma requete des _POST ou _SESSION réouvre des failles fermées par le prepare et le execute |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com