Я писав декілька плагінів Wordpress, і у мене виникли проблеми з Wordpress, що ставлять магічні котирування на дані POST та GET.
Зокрема, функція "wp_magic_quotes" в \ wp-включає \ load.php, яка викликається (імовірно, на кожну відповідь) у 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_magic_quotes () у wp-settings.php? Тобто, чи це негативно вплине на звичайний код Wordpress та / або відкриє якийсь вектор експлуатації? Якщо так, чи є ще якийсь спосіб зробити це, крім зміни коду WP (тому мені не доведеться з цим боротися кожен раз, коли є оновлення)?
wp_magic_quotes()
виконується функція ? Не вдалося знайти виконання у wp-core.