J'ai ceci:
$inputData['title'] = str_replace('"', '', $_POST['title']);
3 Réponses :
L'entrée de l'utilisateur doit être exécutée via htmlspecialchars () code> à utiliser dans ce type de cas. P>
Je vous recommande vivement d'utiliser htmlenttities ($ string, ent_quotes) strong> avant d'afficher tout ce qui est généré n'importe où ... p>
HTMENTITÉS n'a pas fonctionné pour moi, seulement HTMLSpecialchars (). Le problème était que, pour une raison quelconque, les HTMLentités ne manipulaient pas l'accent correctement
Si je comprends la question correctement, vous souhaitez supprimer Si tel est le cas, la solution "droite" n'est pas de supprimer des guillemets doubles, mais de
Vous envisagez de générer HTML, ** Vous devez utiliser la fonction [`htmlspecialchars» [1] **; De cette façon, deux devis * (et quelques autres caractères) * seront codés sur des entités HTML et ne causeront aucun problème lorsqu'il est injecté dans votre balisage HTML.
p> par exemple: p> Remarque: En fonction de votre situation (surtout, sur le codage / charert que vous utilisez peut utiliser) EM >, vous aurez peut-être besoin de passer des paramètres supplémentaires à En règle générale, vous devez toujours échapper aux données que vous envoyez en tant que sortie, peu importe le type de format de sortie avoir. p> par exemple: p> " code> à partir de
$ INPUTDATA ['Titre'] code>, donc votre code HTML n'est pas fous?
htmlspecialchars code>. p>
htmlspecialchars code>
< / li>
mysql_real_escape_string code>
ou un équivalent, en fonction du type de base de données que vous travaillez avec li>
ul> p>
Je viens de remarquer: on pourrait utiliser des guillemets simples au lieu de guillemets doubles dans l'entrée HTML (comme
En vedette dans Jeff Atwood: Overflow de pile - Bâtir des logiciels sociaux pour l'anti-social I> à 13 min 25 secs. (Qui indique également que la conversation était probablement d'environ 10 ans plus tôt que la date de publication de 2020.)