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/
