Maison >développement back-end >tutoriel php >Pourquoi mes données WordPress POST s'échappent-elles même après avoir désactivé Magic Quotes ?

Pourquoi mes données WordPress POST s'échappent-elles même après avoir désactivé Magic Quotes ?

DDD
DDDoriginal
2024-11-03 05:43:30322parcourir

Why Is My WordPress POST Data Escaping Even After Disabling Magic Quotes?

L'énigme des citations magiques dans WordPress

Malgré la désactivation des guillemets magiques de PHP (vérifiée par get_magic_quotes_gpc() renvoyant 0), les données POST sont toujours échappées . Ce problème survient lorsque WordPress est intégré dans une installation multisite.

Le rôle de WordPress dans l'échappement automatique

La cause de l'échappement automatique réside dans la base de code de WordPress. Un bug (ticket n° 18322) dans WordPress tente de nettoyer les entrées même lorsque les guillemets magiques sont désactivés. La solution consiste à supprimer manuellement et explicitement les barres obliques des données d'entrée, comme suggéré dans le codex.

Supprimer profondément les barres obliques

Pour résoudre le problème, supprimez en profondeur les barres obliques des superglobaux tableaux ($_GET, $_POST, $_COOKIE, $_SERVER et $_REQUEST) en utilisant la fonction stripslashes_deep() :

<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>

Approche alternative

Alternativement, envisagez d'utiliser array_map() localement sur des tableaux spécifiques au lieu de remplacer les superglobales :

<code class="php">$post = array_map('stripslashes_deep', $_POST);</code>

Considérations

La modification des superglobales comme indiqué ci-dessus peut avoir des implications pour votre application. Si le contexte spécifique le permet, envisagez une suppression sélective pour maintenir l’intégrité des données. Consultez les références fournies pour des informations supplémentaires.

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