我在Laravel中有一个类似这样的简化代码:
$uid = $request->input('uid');
DB::table('users')->insert([
'uid' => DB::raw("CONV('$uid', 16, 10)"),
'created_at' => date("Y-m-d H:i:s")
]);我的代码易受SQL注入攻击吗?为什么?如果是的话,我怎样才能预防呢?
发布于 2020-04-08 14:56:26
是的,将请求输入直接复制到原始SQL查询是SQL注入漏洞的一个示例。
我建议这一备选办法:
$uid = base_convert($request->input('uid'), 16, 10);
DB::table('users')->insert([
'uid' => $uid,
'created_at' => date("Y-m-d H:i:s")
]);见转换()。
https://stackoverflow.com/questions/61091226
复制相似问题