![](/img/trans.png)
[英]Echo new lines and unescaped values in textarea during Post Redirect Get routine
[英]Get unescaped POST, not magic quoted values in WordPress
遵循以下问题: 禁用“魔术引号”后,为什么 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
期望一个已经神奇的引用值还是一个未转义的值?
看起来它应该可以正常工作。 在问题的后半部分,我相信$wpdb->escape
已被弃用,根据评论块
/**
* Do not use, deprecated.
*
* Use esc_sql() or wpdb::prepare() instead.
*
* ...
查看 WordPress 代码以确定wpdb::prepare
期望魔术引用值将我们引入可怕的 WordPress 代码的泥潭......>咬舌头<
看起来它希望对我来说是非魔法引用的字符串,但是如果你传递一个魔法引用的字符串,它有可能不会双重转义,尽管我会通过测试进行验证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.