Maison >base de données >tutoriel mysql >Pourquoi mes citations sont-elles échappées avec des barres obliques inverses en PHP et comment puis-je y remédier ?
Vous avez rencontré un problème où chaque guillemet double dans une chaîne que vous traitez est échappé avec une barre oblique inverse. Après quelques recherches, vous avez réalisé que cela est dû à une configuration de serveur appelée magic quotes.
Qu'est-ce que Magic Quotes ?
Magic quotes est un paramètre en PHP qui échappe automatiquement certains caractères, y compris les guillemets simples et doubles, dans les données de formulaire et autres entrées. Son objectif est d'empêcher l'injection SQL et d'autres vulnérabilités de sécurité.
Solution utilisant stripslashes()
Pour résoudre ce problème, utilisez la fonction stripslashes() pour supprimer le fichier ajouté. barres obliques inverses :
if (get_magic_quotes_gpc()) { $text = stripslashes($text); }
Cela supprimera les barres obliques supplémentaires de $text, vous permettant ainsi de travailler avec les données comme attendu.
Désactiver les citations magiques ?
La désactivation ou non des citations magiques dépend de votre situation spécifique et de votre tolérance au risque :
Si vous décidez de désactiver les guillemets magiques, assurez-vous de tester soigneusement votre application et de résoudre tout problème de sécurité potentiel.
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!