Dans certaines circonstances, les pages Web PHP peuvent rencontrer un problème où la soumission des données du formulaire entraîne l'ajout d'un barre oblique inverse avant chaque guillemet double. Ce problème survient en raison d'une fonctionnalité de configuration du serveur connue sous le nom de guillemets magiques.
Lorsque les guillemets magiques sont activés, PHP échappe automatiquement certains caractères, y compris les guillemets doubles, lorsqu'ils sont envoyés ou reçus depuis la base de données ou les soumissions de formulaires. Bien que cela puisse empêcher les attaques par injection SQL en échappant aux guillemets malveillants, cela peut également interférer avec le traitement normal du formulaire.
Résoudre le problème
Pour résoudre le problème, vous pouvez utiliser la fonction stripslashes() pour supprimer les barres obliques inverses automatiquement ajoutées avant d'enregistrer les données du formulaire dans la base de données ou de les afficher sur la page. Voici un exemple :
if (get_magic_quotes_gpc()) {
$input = stripslashes($input);
}
Cette instruction conditionnelle vérifie si les guillemets magiques sont activés et, si c'est le cas, supprime les barres obliques inverses de la variable $input à l'aide de stripslashes(). Cela vous permettra de traiter les données du formulaire normalement sans aucune modification supplémentaire.
Explication des citations magiques
Les citations magiques sont une fonctionnalité obsolète et doivent être considérées comme non sécurisées dans le PHP moderne. développement. Ils ont été introduits dans PHP 4 et supprimés dans PHP 7.0.0 car ils introduisaient divers problèmes de sécurité et de compatibilité du code.
La désactivation des guillemets magiques est généralement recommandée car elle permet des pratiques de codage plus transparentes et sécurisées. Vous pouvez désactiver les guillemets magiques en modifiant votre fichier de configuration PHP et en définissant magic_quotes_gpc sur Off.
En comprenant la fonction des guillemets magiques et en utilisant stripslashes() pour résoudre ce problème de « barre oblique avant chaque guillemet », vous pouvez gérer efficacement formez des données en PHP et assurez leur fonctionnalité prévue même lorsque les guillemets magiques sont activés.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3