Requete Myql + PB sécurité

Requete Myql + PB sécurité - PHP - Programmation

Marsh Posté le 07-12-2004 à 23:32:27    

Hello,
Je suis en train de me faire un petit message board tout simple et j'ai un problàme quand je poste:
" qdqs  / // \ \\ ''' " (pour tester)  
J'ai:
"Ajout message : NON Effectué Erreur de syntaxe près de '07/12/04')' à la ligne 2"
 
Bon, je précise que, quand je poste un message sans les slashes, ça marche nickel.
 
Donc ma question: Comment "préparer" la variable $message pour eviter qu'elle fasse des erreurs dans la requete mysql (dans tout les cas)?
 
 
Merci bcp
 
 
 
Voici mon code:
1-La recup des variables (une ici pour l'exemple):

Code :
  1. if(isset($HTTP_POST_VARS["message"]))
  2.   {$message=stripCslashes(htmlentities($HTTP_POST_VARS["message"]));}
  3. else
  4.   {$message="";}


 
2-Le stoquage dans la DB mysql

Code :
  1. $requete="INSERT INTO msg_board03 (mmode,mlock,midref,mnbrep,mdate,mip,mtitle,memail,mname,mmessage,mdate2) VALUES ('0','0','0','0','$date','$ip','$title','$email','$name','$message','$mdate2')";
  2.          $verif=mysql_query($requete,$id_connex);
  3.            if($verif)
  4.              {print("Ajout message : Effectué<BR>" );}
  5.            else
  6.              {print("Ajout message : NON Effectué  ".mysql_error()."<BR>" );}


Message édité par FonzieV le 07-12-2004 à 23:33:22
Reply

Marsh Posté le 07-12-2004 à 23:32:27   

Reply

Marsh Posté le 08-12-2004 à 08:17:32    

Reply

Marsh Posté le 08-12-2004 à 12:24:52    

Héhé, le génie (les gars qui on fait le msql ont vraiment pensé à tout)....
Merci beaucoup, je teste ce soir.

Reply

Marsh Posté le 09-12-2004 à 00:32:41    

Ca marche nickel... Cependant, comme d'hab uniquement avec easy php :-/
Sur mon host, j'ai ce message:
 
Fatal error: Call to undefined function: mysql_real_escape_string()
 
Ya pas moyen de contourner le problème?
 
Merci
 
Fonzie

Reply

Marsh Posté le 09-12-2004 à 00:47:45    

test mysql_escape_string();
 
tu peux te renseigner sur les differnets caracteres a inhiber et appliquer a ta chaine de caracteres un serie de filtres d'expressions regulieres


Message édité par DeirElBahri le 09-12-2004 à 00:48:27

---------------
Julien Oncelay
Reply

Marsh Posté le 09-12-2004 à 01:00:46    

Merci, ça marche parfaitement avec mysql_escape_string...
En fait, je fais juste un htmlentities avant (j'hesite a faire un stript slashes car souvent ça complique un peu tout au niveau de l'affichage).
 
Merci encore
 
++
 
Fonzie


Message édité par FonzieV le 09-12-2004 à 08:24:01
Reply

Marsh Posté le 09-12-2004 à 08:28:41    

Moi en general je fais un addslashes() sur tout ce qui rentre (a - que je puisse mettre directement les magic_quote en on), et apres je fait un petit stripslashes() des que ca sort pour que l'affichage soit bon ... Je suis d'accord que ca fait 2 fonctions de plusa utiliser mais bon c'est pas si mal ..

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed