Bonjour,
Voila, j'ai un formulaire avec un champ 'gamename'.
Le formulaire envoi a une page de vérification 'verifFormulaire.php'.
Dans cette page, je récupère le nom du membre avec :
Ensuite, je vérifie si la valeur de $_SESSION['gamename'] est dans la base via :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $_SESSION['gamename'] = mysql_real_escape_string(htmlentities($_POST['gamename']))
et je récupère la liste des jeux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ...`gamName` LIKE '%".$_SESSION['gamename']."%'...
En haut de cette liste j'affiche :
Et éventuellement, je remet le texte entrer en valeur par défaut
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo 'Jeux contenant : '.stripslashes($_SESSION['gamename']);
Si j'entre un ' dans le champ 'gamename', j'obtient bien la liste des jeux contenant ' dans le nom, et cela affiche Jeux contenant " ' ".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo '<input type="text" name ="gamename'" value=" '.stripslashes($_SESSION['gamename']).' ">
si j'entre : <a href="nonSite">test</a>, j'obtient aucun jeux donc c'est normal, et cela affiche Jeux contenant "<a href="nonSite">test</a>"
Donc
1) Suis-je bien protéger de cette façon contre les injonctions sql ?
2) Faut-il protéger l'envoi de donnée via une liste déroulante pré-rempli, il me semble que non, mais...
3) la fonction addslash dans tout ça, elle sert a quoi ? sachant que tout les champs texte des formulaires sont nécessairement lié a une base de donnée dans mon cas.
Merci,
Partager