Enigme "Slash avant chaque citation"
Vous avez rencontré un problème particulier dans votre script PHP : chaque fois qu'un formulaire est soumis à lui-même avec une valeur contenant des guillemets doubles, il ajoute une barre oblique inverse avant chacun. Ce comportement est attribué à la fameuse fonctionnalité « citations magiques » de PHP.
Les guillemets magiques échappent automatiquement à certains caractères, y compris les guillemets doubles, pour empêcher les injections malveillantes. Bien que cela puisse ressembler à une mesure de sécurité, cela peut également provoquer des problèmes comme celui que vous rencontrez.
Pour résoudre ce problème, intégrez l'extrait de code suivant dans votre script :
<code class="php">if (get_magic_quotes_gpc()) { $your_text = stripslashes($your_text); }</code>
La fonction get_magic_quotes_gpc() vérifie si les guillemets magiques sont activés. Si tel est le cas, la fonction stripslashes() supprime les barres obliques inverses supplémentaires de votre texte.
Risques liés à la désactivation des citations magiques
Vous avez indiqué que vous disposez d'un accès root à votre serveur et envisagent de désactiver les guillemets magiques. Il est important d'être conscient des risques potentiels :
Conclusion
Bien que la désactivation des guillemets magiques puisse résoudre votre problème actuel, c'est Il est crucial de mettre en œuvre des pratiques robustes de validation des entrées et d’assainissement pour prévenir les failles de sécurité. Pesez soigneusement les risques potentiels avant de prendre cette décision et assurez-vous que votre code est toujours sécurisé quel que soit le statut des citations magiques.
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!