Wordpress 플러그인을 작성하고 있으며 Wordpress에서 POST 및 GET 데이터에 마법 따옴표를 넣는 데 문제가 있습니다.
특히 \ wp-includes \ load.php의 "wp_magic_quotes"함수는 wp-settings.php에서 (아마도 모든 응답에서) 호출됩니다. 이 함수는 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에서 실행을 찾을 수 없습니다.