gpt4 book ai didi

php - WordPress 元查询 LIKE Weird String/Hash

转载 作者:行者123 更新时间:2023-11-29 07:30:11 27 4
gpt4 key购买 nike

我正在运行一个简单的 LIKE meta_query,如下所示:

$meta_query[] = array(
'key' => '_department',
'value' => sanitize_text_field( $_REQUEST['department'] ),
'compare' => 'LIKE'
);
// push to main WP_Query here

但奇怪的是,如果我转储查询的 $wp_query->request 部分,它看起来像这样:

( mt2.meta_key = '_department' AND mt2.meta_value LIKE '{a4eeec5aa4c896cb300f5aab299d4336f74fcb91103252699f91d781f4df916a}residential-sales{a4eeec5aa4c896cb300f5aab299d4336f74fcb91103252699f91d781f4df916a}' )

看看 % 是如何被一个奇怪的散列代替的?这对于所有 LIKE 查找都是一样的。我没有激活的插件,在法典中找不到任何对此的引用。

有人以前见过这个吗?

最佳答案

这是 Wordpress 4.8.3 的预期行为因为 esc_sql() 函数已被修改,现在对保留字符进行 md5 哈希处理。

echo esc_sql( "100%" );
// "100{9fa52f39262a451892931117b9ab11b5a06d3a15faee833cc75edb18b4411d11}"

这样做是为了修复 pre-4.8.3 vulnerability到 sql 注入(inject)攻击。

如果需要,您可以通过以下调用获取转义的值:

echo $wpdb->remove_placeholder_escape( esc_sql( "100%" ) );
// "100%"

关于php - WordPress 元查询 LIKE Weird String/Hash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51723407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com