Gestion du problème « Slash avant chaque citation » avec les citations magiques en PHP
Vous rencontrez un problème où votre formulaire PHP ajoute un Caractère "" avant chaque guillemet lors de la soumission. Cela est probablement dû à l'activation de la fonctionnalité « citations magiques » sur votre serveur.
Les citations magiques échappent automatiquement certains caractères, y compris les guillemets doubles, dans les soumissions de formulaires et autres données d'entrée. Bien que cette fonctionnalité soit destinée à empêcher les attaques par injection SQL, elle peut entraîner des problèmes d'intégrité des données et est généralement considérée comme obsolète.
Pour résoudre ce problème, vous pouvez utiliser la fonction stripslashes() pour supprimer les barres obliques indésirables avant le traitement. le texte. Ajoutez la condition suivante en utilisant stripslashes() à votre code :
<code class="php">if (get_magic_quotes_gpc()) { $your_text = stripslashes($your_text); }</code>
Après avoir traité le texte avec stripslashes(), vous pouvez utiliser normalement la variable $your_text résultante et elle ne contiendra aucune barre oblique inattendue.
Concernant la désactivation des citations magiques :
Comme vous l'avez mentionné, vous disposez d'un accès root à votre serveur. La désactivation des guillemets magiques est généralement recommandée pour écrire du code bien structuré et sécurisé. Les raisons de sa désactivation incluent :
Pour désactiver les guillemets magiques, modifiez le fichier php.ini de votre serveur et définissez la directive magic_quotes_gpc sur Off. Une fois la modification effectuée, redémarrez votre serveur Web pour que les modifications prennent effet.
N'oubliez pas de tester minutieusement votre application après avoir désactivé les guillemets magiques pour vous assurer qu'elle se comporte toujours comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!