|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 238 ![]() |
Bonjour,
J'ai réalisé un formulaire qui envoi des donnees dans ma bd, 5 données de type texte, une donnée de type textbox et un envoi de type file. J'aimerais protéger au maximum mon formulaire contre l'injection de script. Seulement je ne sais pas si je dois formater mes données avant leurs envoi sur sql ou aprés lors de l'affichage des données dans mon site ??? Quesqui est le plus éficase d'aprés vous ?? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Il faut que tu sécurises tes données avant de les envoyer dans ta BD. C'est ce qu'il y a de mieux.
Il y a pas mal de chose comme ça déjà sur le forum. Tu devrais pouvoir trouver facilement les actions à réaliser.
__________________
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
![]() Pouéviter les injections SQL tu peux activer magic_quotes_gpc dans ton php.ini ou alors si magic_quotes_gpc n'est pas activé, tu peux utiliser mysql_real_escape_string sur chacune de tes variables que tu passes en paramètres dans ta requête SQL. Une injection SQL est normalement une injection de bout de code par l'utilisateur dans ta requête afin de modifier la requête elle-même et non pas les valeurs pour accéder à des infos normalement inaccessible. C'est assez rare en PHP tout de même mais il faut tout de même s'en protéger. Regarde ce post. Donc à l'affichage il ne peut rien t'arriver de bien fantastique
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 238 ![]() |
ok, je pense avoir compris, mais par exemple quand dans mon formulaire je tape la balise <b>texte<b> mon texte dans l'admin et sur mon site est en gras.
Comment éviter sa ??? |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Tu peux utiliser strip_tags() pour retirer toutes balises HTML et PHP d'une chaine.
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 238 ![]() |
J'ai utilisé strip_tags() comme me la conseillé koopajah sur tout mes echos sensible, est-il possible de se contenter de cette sécurité ????
|
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 238 ![]() |
Si ma bd ne contient qu'une info confidentiel j'utilise mysql_real_escape_string() que sur cette valeur ???
|
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Citation:
Tu dois l'utiliser sur tous les champs texte que tu insères dans la base (voir les autres si tu ne fais pas de vérification dessus) en gros tu dois vérifier tout ce qui est saisi par l'utilisateur. |
|
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 238 ![]() |
Ok Je dois placer mysql_real_escape_string() avant ou aprés l'envoi vers ma bd ???
Code :
|
||
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Exemple sur les trois premiers:
Code :
$sql = "INSERT INTO demande VALUES ( '".mysql_real_escape_string($id)."', '".mysql_real_escape_string($site)."', now(), etc. |
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 238 ![]() |
Voila tout marche nikel
Ya t'il encore quelque chose que je pourais faire pour avoir une sécurité un peu plus accru ... sans vouloir aller trop loin sinon je manipule des données dans mon admin et je fait des requetes dans ma partit client, je dois me protéger même là ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com