《PHP學習:Laravel框架中VerifyCsrfToken報錯問題的解決》要點:
本文介紹了PHP學習:Laravel框架中VerifyCsrfToken報錯問題的解決,希望對您有用。如果有疑問,可以聯系我們。
前言PHP實例
本文主要給大家介紹了關于Laravel框架中VerifyCsrfToken報錯問題的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧.PHP實例
報錯情況PHP實例
form 表單進行 post 方式提交數據時,遇到如下的報錯情況.PHP實例
TokenMismatchException in VerifyCsrfToken.php line 67: in VerifyCsrfToken.php line 67 at VerifyCsrfToken->handle(object(Request), object(Closure))
PHP實例
post 數據提交報錯
PHP實例
原因PHP實例
Laravel 推薦在全局注冊 VerifyCsrfToken 的 Middleware ,對所有 Post,Put,Delete 請求自動校驗是否帶合法的 _csrf token.
PHP實例
解決方法PHP實例
方法 1.在form表單中添加如下的隱藏域代碼PHP實例
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
方法 2.在form表單中添加 csrf_fieldPHP實例
(與上述解決方法功能一致)PHP實例
{!! csrf_field() !!}
方法 3.注釋 Kernel.php 代碼PHP實例
打開 app\Http\Kernel.php,在文件中注釋掉下面的代碼PHP實例
\App\Http\Middleware\VerifyCsrfToken::class
方法 4. 修改handle()方法PHP實例
打開 \app\Http\Middleware\VerifyCsrfToken.php,添加或修改 handle()方法如下:PHP實例
public function handle($request, \Closure $next) { // 使用CSRF //return parent::handle($request, $next); // 禁用CSRF return $next($request); }
補充 csrf 介紹PHP實例
csrf 圖解釋義
PHP實例
參考文章PHP實例
1. Laravel 5.3 文檔 - CSRF攻擊原理及其防護
PHP實例
2. Laravel 5.3 文檔 - HTTP層 CSRF保護PHP實例
總結PHP實例
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持.PHP實例