Tôi đã viết một số plugin Wordpress và tôi đã gặp một số vấn đề với Wordpress khi đưa các trích dẫn ma thuật vào dữ liệu POST và GET.
Cụ thể, hàm "wp_magic_quotes" trong \ wp-gồm \ load.php, được gọi (có lẽ là trên mỗi phản hồi) trong wp-settings.php. Hàm này thêm các trích dẫn ma thuật vào dữ liệu ngay cả khi tôi tắt các trích dẫn ma thuật trong cài đặt 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 );
}
Tôi có an toàn không khi chỉ nhận xét cuộc gọi wp_magic_quotes () trong wp-settings.php? Đó là, nó sẽ ảnh hưởng tiêu cực đến mã Wordpress bình thường và / hoặc mở ra một số vectơ khai thác? Nếu vậy, có một số cách khác để làm điều đó ngoài việc sửa đổi mã WP (vì vậy tôi không phải đối phó với điều này mỗi khi có bản cập nhật)?
wp_magic_quotes()
được thực hiện? Tôi không thể tìm thấy sự thực thi trong wp-core.