使用LIKE模式匹配转义传递给查询的文本的正确方法是什么? 问题是
select()->where('field LIKE ?', $input . '%');
不正确
$input = '%sometext';
更新: '易受' - > '不正确'
答案 0 :(得分:0)
这不是漏洞,不是吗?这是有效的内容。如果它对您的应用程序造成漏洞(如WHERE user LIKE '%admin%'
),您应该考虑使用类似的方式验证/过滤输入:
if (strpos('%', $input)){
$input = strtr($input, '%', '');
}