Ich habe einige Wordpress-Plugins geschrieben und hatte ein Problem damit, dass Wordpress POST- und GET-Daten in magische Anführungszeichen setzt.
Insbesondere die Funktion "wp_magic_quotes" in \ wp-includes \ load.php, die (vermutlich bei jeder Antwort) in wp-settings.php aufgerufen wird. Diese Funktion fügt den Daten magische Anführungszeichen hinzu, selbst wenn ich magische Anführungszeichen in den PHP-Einstellungen deaktiviere.
/**
* Add magic quotes to $_GET, $_POST, $_COOKIE, and $_SERVER.
*
* Also forces $_REQUEST to be $_GET + $_POST. If $_SERVER, $_COOKIE,
* or $_ENV are needed, use those superglobals directly.
*
* @access private
* @since 3.0.0
*/
function wp_magic_quotes() {
// If already slashed, strip.
if ( get_magic_quotes_gpc() ) {
$_GET = stripslashes_deep( $_GET );
$_POST = stripslashes_deep( $_POST );
$_COOKIE = stripslashes_deep( $_COOKIE );
}
// Escape with wpdb.
$_GET = add_magic_quotes( $_GET );
$_POST = add_magic_quotes( $_POST );
$_COOKIE = add_magic_quotes( $_COOKIE );
$_SERVER = add_magic_quotes( $_SERVER );
// Force REQUEST to be GET + POST.
$_REQUEST = array_merge( $_GET, $_POST );
}
Ist es für mich sicher, den Aufruf von wp_magic_quotes () in wp-settings.php einfach zu kommentieren? Das heißt, wird es den normalen Wordpress-Code negativ beeinflussen und / oder einen Ausnutzungsvektor öffnen? Wenn ja, gibt es eine andere Möglichkeit, als den WP-Code zu ändern (damit ich mich nicht jedes Mal darum kümmern muss, wenn es ein Update gibt)?
wp_magic_quotes()
ausgeführt wird? Ich konnte die Ausführung in wp-core nicht finden.