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 ?

Pourquoi mes citations sont-elles échappées avec des barres obliques inverses en PHP et comment puis-je y remédier ?

Barbara Streisand
Libérer: 2024-12-07 17:38:12
original
579 Les gens l'ont consulté

Why Are My Quotes Escaped with Backslashes in PHP, and How Can I Fix It?

Problème "Slash avant chaque citation" revisité

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);
}
Copier après la connexion

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 :

  • Sécurité : Si vous disposez d'une application bien écrite qui suit les meilleures pratiques en matière de validation et de protection des entrées, la désactivation des guillemets magiques peut ne pas introduire de conséquences significatives. risques de sécurité.
  • Compatibilité :La désactivation des guillemets magiques peut entraîner des problèmes de compatibilité avec le code PHP plus ancien ou les bibliothèques tierces qui en dépendent.
  • Autres considérations : Les guillemets magiques peuvent également affecter le comportement de fonctions comme htmlspecialchars() et htmlentities(). Vous devez examiner la façon dont votre application gère l'échappement et l'encodage avant de prendre une décision.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal