like_escape() 仅逃逸% 和_ 字符。整个函数如下所示:
function like_escape($text) {
return str_replace(array("%", "_"), array("\\\\%", "\\\\_"), $text);
}
引用法典,
esc_attr()对(<;)进行编码>&"E;和“(小于、大于、与号、双引号和单引号)字符。不会对实体进行双重编码。
Always use when escaping HTML attributes (尤其是表单值),如alt、value、title等。
(我的重点。)
进一步阅读:Data Validation
Edited to add -- 我没有回答问题的第一部分:如果WP_User_Query 自己进行数据验证,那么我们真的需要使用esc_attr() 完全
的Codex页WP_User_Query 似乎没有说明是否进行了任何数据验证。(在页面中搜索valid 和escape 也没有任何结果。)这与esc_attr() 第--“页”永远不会对实体进行双重编码向我表明使用esc_attr() 关于您传递的值。安全总比抱歉好,尤其是对于不受信任的用户提供的数据,对吗?