[英]protect SQL injection on laravel
I need to do auto completion on site, I use laravel. 我需要在现场进行自动完成,我使用laravel。 now it work like this:
现在它像这样工作:
Group:: whereRaw( where lower (name) like lower ('$q%'))->get ()
But it is not safe I try do like this: 但是尝试这样做是不安全的:
$q="a"; group:: whereRaw("lower (name) like lower ('?%')",[$q])->get ()
always return empty array, but 总是返回空数组,但是
$q="a"; group:: whereRaw("lower (name) like lower ('$q%')")->get ()
return correct result 返回正确的结果
如前所述,LIKE不区分大小写,因此您不需要lower
或原始。
Group::where('name', 'LIKE', $q."%")->get();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.