1

使用 LIKE 模式匹配传递给查询的文本转义的正确方法是什么?问题是

select()->where('field LIKE ?', $input . '%');

将不正确

$input = '%sometext';

更新:“易受攻击”->“不正确”

4

1 回答 1

0

这不是脆弱性,是吗?这是有效的内容。如果它对您的应用程序构成漏洞(例如WHERE user LIKE '%admin%'),您应该考虑自己使用以下方法验证/过滤输入:

if (strpos('%', $input)){
     $input = strtr($input, '%', '');
}
于 2011-06-03T23:00:07.283 回答