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/

posted @ 2022-04-10 07:22  jamstack  阅读(947)  评论(0编辑  收藏  举报