Script dans un champs (sécurité)

Par nicki223, il y a 10 ans


Bonjour !
Je souhaiterai savoir si vous connaissiez une fonction efficace pour supprimer les "<" quand quelqu'un l'entre dans mon text area cer j'ai protéger avec mysqli_real_escape_string() mais ca ne suffit pas quand j'entre ce script :

<script>alert('bug');</script><style>*{display:none;}</style>

ca passe du coup je ne sais pas quoi faire voici mon code:

// MODIFICATION COMMENTAIRE if(isset($_GET['action']) && $_GET['action'] == 'modification') { if(isset($_GET['id_avis'])) { $resultat = executeRequete("SELECT * FROM avis WHERE id_avis='$_GET[id_avis]'"); $article_actuel = $resultat->fetch_assoc(); /* debug($article_actuel); */ } if(isset($_POST['enregistrement'])){ $connexion_bdd = mysqli_connect("cl1xxxx", "xxx", "xxxx", "xx"); $commentaire = mysqli_real_escape_string($connexion_bdd, $_POST['commentaire']); executeRequete("UPDATE avis SET commentaire = '$commentaire' WHERE id_avis ='$_POST[id_avis]'"); /*echo $_POST['commentaire'];*/ } echo '</table>'; } ?> <h2 class="margin-top">Modifier le commentaire:</h2> <div class="boite compte"> <form class="form_globale" method="post"> <input type="text" id="id_avis" name="id_avis" class="form-control" value="<?php if(isset($article_actuel['id_avis'])) echo $article_actuel['id_avis']?>" /> <input type="text" id="id_membre" name="id_membre" class="form-control" value="<?php if(isset($article_actuel['id_membre'])) echo $article_actuel['id_membre']?>" /> <input type="text" id="id_article" name="id_article" class="form-control" value="<?php if(isset($article_actuel['id_article'])) echo $article_actuel['id_article']?>" /> <div class="form_input"> <textarea id="commentaire" name="commentaire" class="input_control" placeholder="Description..."><?php if(isset($article_actuel['commentaire'])) echo $article_actuel['commentaire'];?><?php if(isset($commentaire)) echo $commentaire;?></textarea> </div> <input class="bouttonform" type="submit" name="enregistrement" value="<?php echo ucfirst($_GET['action']);?>"/> </form> </div> </div><!-- /main content --> </article><!-- /main -->

Merci par avance pour votre aide

4 réponses

Martin, il y a 10 ans

Hello,

Tu peux utliser cette function php :
htmlspecialchars

nicki223, il y a 10 ans

Merci de ta réponse @martin
Mais du coup mais appostrophevont se transpormer?
Si quelq'un entre dans un champs le mots : "l'article" par exemple

Martin, il y a 10 ans

Convertit les caractères spéciaux en entités HTML

Pour echaper les " , tu peux utliser addslashes

nicki223, il y a 10 ans

merci a tous jai utilisé htmlentites c'était le mieux