Geheimnisvolles automatisches Escapen von POST-Daten in WordPress
Obwohl magische Anführungszeichen über php.ini deaktiviert wurden, führen PHP und WordPress weiterhin ein automatisches Escapen durch POST-Daten, die einfache Anführungszeichen enthalten. Dieses verwirrende Problem hat Entwicklern Kopfzerbrechen bereitet.
WordPress-Ursprung des Auto-Escapes
Die Hauptursache des Auto-Escapes liegt im Bootstrapping-Prozess von WordPress. Wenn WordPress initialisiert wird, aktiviert es einen Code, der bestimmte Zeichen in der Benutzereingabe automatisch maskiert.
Lösung für das automatische Escapezeichen
Um dieses Problem zu beheben, wird empfohlen, Folgendes zu tun: Überschreiben Sie die globalen Variablen vorübergehend mit dem folgenden Code:
$_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);
Alternativ können Sie einen gezielteren Ansatz in Betracht ziehen, indem Sie „lokal entfernen“, anstatt die Superglobals zu überschreiben. Zum Beispiel:
$post = array_map('stripslashes_deep', $_POST);
Zusätzliche Überlegungen
Das Überschreiben von Superglobals kann möglicherweise Auswirkungen auf andere Teile Ihrer Anwendung haben. Bewerten Sie daher sorgfältig, ob es für Ihre spezifische Situation geeignet ist.
Weitere Erkenntnisse von @Alexandar O'Mara und @quickshiftin liefern wertvolle Perspektiven zu diesem Thema.
Das obige ist der detaillierte Inhalt vonWarum maskiert WordPress POST-Daten automatisch, selbst nachdem Magic Quotes deaktiviert wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!