|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
Bonjour,
j'aimerais sécurisé chaque champs d mon formualire en testant pour chaque champs la présence des caractères suivants : /%*#"' (j'en ai peut-être oublié... n'hésitez pas à me le dire...) je pense (mais je ne suis pas sûr) qu'il faut utiliser la fonction strpos. Si vous pouviez me conseiller. D'abord est-ce la bonne méthode? et peut-on tester cela en une seule commande ou bien faut-il faire un strpos pour chaque caractère (un pour /, un pour % etc...) Cette fonction est-elle efficace opur un champs numérique? merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Si tu veux préparer tes données en vue d'une insertion en base SQL il y a des fonctions pour ça (addslashes & co, cf la doc.).
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() |
utilise des expressions regulieres, avec les addslashes avant dinserer etc
__________________
Colorez votre code PHP sur les forums grâce à Developpez.com |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2003 Messages : 3 286 ![]() |
Tu as des fonctions toutes faites pour ça, comme mysql_real_escape_string
__________________
Tous mes tutoriels Pas de questions techniques par MP ni par e-mail, merci ! Prolog rules! |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
Mais les injections mysql ne se font uniquement lorsque dans la requête, on fait allusion à un password?
cela veut dire ma requête suivante par exemple ne peut pas avoir d'injection : $sql = "insert into lldiffusion_clients(mail,pseudo,nom,prenom,mdp,ad_ligne1,ad_ligne2,ad_ville,civilite,telephone,ad_cp,ad_ip,nomf,prenomf,ad_ligne1f,ad_ligne2f,ad_cpf,ad_villef) values('$mail','$pseudo','$nom','$prenom','$mdp','$ad_ligne1','$ad_ligne2','$ad_ville','$civilite','$telephone','$ad_cp','$ip_en_cours','$nomf','$prenomf','$ad_ligne1f','$ad_ligne2f','$ad_cpf','$ad_villef')"; $req = mysql_query($sql);// or die('Erreur SQL : <br />'.$sql); ou encore celle-ci : $sql = 'SELECT id,marque,designation,categorie,resume_court,prix_ttc,disponibilite FROM lldiffusion_produit WHERE resume_long LIKE "'.$pa.'" OR designation LIKE "'.$pa.'"'; |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Inscription : juillet 2004 Messages : 2 684 ![]() |
Rien compris là par contre
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace. Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h) |
|
|
00
|
|
|
#7 | |
|
Membre expérimenté
![]() |
Citation:
1.Par exemple tu demandes a un utilisateur de laisser un avis sur un article que tu inseres ensuite dans ta base. 2. un utilisateur qui change ces infos (a cherchant sur le net, tu trouveras dautres exemples) Il faut meme prendre lhabitude de faire des addslshes pour tt insertion (meme celle qui te semblent inutiles) , c'est une bonne habitude à prendre
__________________
Colorez votre code PHP sur les forums grâce à Developpez.com |
|
|
|
00
|
|
|
#8 | |
|
Expert Confirmé
![]() ![]() Inscription : avril 2003 Messages : 3 286 ![]() |
Citation:
__________________
Tous mes tutoriels Pas de questions techniques par MP ni par e-mail, merci ! Prolog rules! |
|
|
|
00
|
|
|
#9 | |
|
Membre expérimenté
![]() |
Citation:
(je crois que c dans kungfu)
__________________
Colorez votre code PHP sur les forums grâce à Developpez.com |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com