我正在运行一个简单的类似meta\u的查询,如下所示:
$meta_query[] = array(
'key' => '_department',
'value' => sanitize_text_field( $_REQUEST['department'] ),
'compare' => 'LIKE'
);
// push to main WP_Query here
但奇怪的是,如果我转储查询的$wp\u query->request部分,它看起来是这样的:
( mt2.meta_key = '_department' AND mt2.meta_value LIKE '{a4eeec5aa4c896cb300f5aab299d4336f74fcb91103252699f91d781f4df916a}residential-sales{a4eeec5aa4c896cb300f5aab299d4336f74fcb91103252699f91d781f4df916a}' )
看看%是怎么被一个奇怪的散列所取代的?这对于所有类似的查找都是一样的。我没有活动的插件,在法典中找不到任何引用。
有人见过这个吗?
1条答案
按热度按时间qgelzfjb1#
这是WordPress4.8.3以后的预期行为,因为esc\u sql()函数已被修改,现在可以对保留字符进行md5哈希运算。
这样做是为了修复4.8.3版本之前的sql注入攻击漏洞。
如果需要,可以通过以下调用获取转义的值: