跟随问题:禁用“魔术引号”后,为什么 PHP/WordPress 继续自动转义我的 POST 数据?
在 WordPress 中,即使魔术引号关闭,所有超全局变量也会被转义。
所以,按照这个答案:禁用“魔术引号”后,为什么 PHP/WordPress 继续自动转义我的 POST 数据?
如果我创建一个插件和一个类来访问原始 POST、GET 等,这是一个好的解决方案吗?您在这种方法中看到任何缺点和问题吗?
下面是我的插件:
class MyPluginRequest{
public static function getPost( $key ){
global $_REAL_POST;
return isset( $_REAL_POST[ $key ] )? $_REAL_POST[ $key ] : FALSE ;
}
}
// A hack to cope with un-configurable call to wp_magic_quotes
// E.G. Make the original $_POST available through a global $_REAL_POST
global $_REAL_GET, $_REAL_POST, $_REAL_COOKIE, $_REAL_REQUEST;
$_REAL_GET = $_GET;
$_REAL_POST = $_POST;
$_REAL_COOKIE = $_COOKIE;
$_REAL_REQUEST = $_REQUEST;
然后MyPluginRequest::getPost( 'submit' );
,我每次需要发布的未转义值时使用。
是否$wpdb->escape
期望已经引用的值或未转义的值?