Mystérieux échappement automatique des données POST dans WordPress
Malgré la désactivation des guillemets magiques via php.ini, PHP et WordPress continuent de s'échapper automatiquement Données POST contenant des guillemets simples. Ce problème déroutant a laissé les développeurs perplexes.
Origine WordPress de l'échappement automatique
La cause première de l'échappement automatique réside dans le processus d'amorçage de WordPress. Lorsque WordPress est initialisé, il active un code qui échappe automatiquement certains caractères dans la saisie de l'utilisateur.
Solution à l'échappement automatique
Pour résoudre ce problème, il est recommandé de remplacez temporairement les variables globales à l'aide du code suivant :
$_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);
Vous pouvez également envisager d'utiliser une approche plus ciblée en "supprimant localement" au lieu d'écraser les superglobales. Par exemple :
$post = array_map('stripslashes_deep', $_POST);
Considérations supplémentaires
L'écrasement des superglobales peut potentiellement avoir un impact sur d'autres parties de votre application. Par conséquent, évaluez soigneusement si cela est approprié à votre situation spécifique.
D'autres informations de @Alexandar O'Mara et @quickshiftin fournissent des perspectives précieuses sur ce sujet.
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!