Maison >développement back-end >tutoriel php >Pourquoi WordPress échappe-t-il toujours aux données après avoir désactivé Magic Quotes ?

Pourquoi WordPress échappe-t-il toujours aux données après avoir désactivé Magic Quotes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 06:56:02351parcourir

Why is WordPress Still Escaping Data After Disabling Magic Quotes?

Le dilemme d'échappement automatique de WordPress avec les citations magiques désactivées

Malgré la désactivation des guillemets magiques dans la configuration de PHP, WordPress continue d'échapper automatiquement aux données POST, en particulier les guillemets simples. Ce comportement déroutant a souvent dérouté les développeurs.

Cause et solution

La cause profonde réside dans le processus d'amorçage de WordPress. WordPress lance l'échappement automatique lorsque sa fonctionnalité multisite est active. Pour résoudre ce problème, ajoutez le code suivant avant le démarrage de WordPress :

<code class="php">$_GET       = array_map('stripslashes_deep', $_GET);
$_POST      = array_map('stripslashes_deep', $_POST);
$_COOKIE    = array_map('stripslashes_deep', $_COOKIE);
$_SERVER    = array_map('stripslashes_deep', $_SERVER);
$_REQUEST   = array_map('stripslashes_deep', $_REQUEST);</code>

Ce code supprimera les barres obliques des objets de requête de WordPress avant que l'échappement automatique ne se produise.

Approches alternatives

Bien que stripslashes_deep résolve efficacement le problème, envisagez ces approches alternatives :

  • Utilisez "strip localement" : Supprimez uniquement les barres obliques d'éléments de données POST spécifiques. Par exemple : $post = array_map('stripslashes_deep', $_POST);
  • Désactivez l'échappement automatique de WordPress : Ajoutez definition('AUTOMATIC_ESCAPING_DISABLED', true); à votre fichier de configuration WordPress (wp-config.php). Cela désactive l'échappement automatique, mais il doit être utilisé avec prudence.

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!

Déclaration:
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