laravel怎么预防sql注入

sql injection翻译过来就是sql注入,是指通过构造特定组合的字符串,欺骗应用程序,执行错误的业务逻辑。

明白了sql注入的概念,再来思考怎么预防?在laravel里,通常有以下三种方法来预防sql注入,分别是:

1.使用Validator验证页面提交的参数

$validator = Validator::make(['id' => $id], [
    'id' => 'required|numeric'
]);

if ($validator->fails()) {
    abort(404);
}else {
    //Run query
}

 

2.使用参数绑定

DB::statement("UPDATE users SET password=?  WHERE username =?", [$password, $username]);

 

3.关闭调试模式

编辑.env,设置APP_DEBUG=false

 

参考资料

https://www.stackhawk.com/blog/sql-injection-prevention-laravel/

相关文章

laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载