私はいくつかのWordpressプラグインを作成しており、WordpressがPOSTおよびGETデータに魔法の引用符を付けることに問題を抱えています。
具体的には、wp-settings.phpで(おそらくすべての応答で)呼び出される\ wp-includes \ load.phpの「wp_magic_quotes」関数。この関数は、PHP設定でマジッククオートをオフにした場合でも、データにマジッククオートを追加します。
/**
* 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 );
}
wp-settings.phpのwp_magic_quotes()呼び出しをコメント化するだけで安全ですか?つまり、通常のWordpressコードに悪影響を及ぼしたり、悪用ベクトルを開いたりしますか?もしそうなら、WPコードを変更する以外にそれを行う他の方法はありますか(更新があるたびにこれに対処する必要はありません)?
wp_magic_quotes()
が実行されるか教えてもらえますか?wp-coreで実行を見つけることができませんでした。