laravel csrf驗(yàn)證總結(jié)
laravel csrf驗(yàn)證總結(jié)
前言問題:
laravel 在web路由
下無論是表單提交啊 還是ajax請(qǐng)求啊 只要是請(qǐng)求方式不滿足 ['HEAD', 'GET', 'OPTIONS']
就會(huì)報(bào)419錯(cuò)誤,原因是其自帶開啟csrf驗(yàn)證,防止csrf攻擊
感興趣的可以看看這部分源碼:Illuminate\Foundation\Http\Middleware\VerifyCsrfToken
解決方式:
一.屏蔽csrf驗(yàn)證
部分屏蔽
App\Http\Middleware\VerifyCsrfToken.php
protected $except = [
//這里添加屏蔽的路由地址
];
全部屏蔽
App\Http\Kernel.php
注釋 \App\Http\Middleware\VerifyCsrfToken::class,
二.加入csrf驗(yàn)證參數(shù)
form提交
<input type="hidden" name="_token" value="{{csrf_token()}}">
ajax提交
<meta name="_token" content="{{csrf_token()}}"> $.ajax({ url: "xxxx", type: "POST", data: data, headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }, success: function (data) {} });
注意!!!
因?yàn)槟?laravel的token是存儲(chǔ)在session里的,所以呢,我遇到了一個(gè)大坑,代碼傳到linux里后 csrf總報(bào)錯(cuò)???
最后debug發(fā)現(xiàn) 因?yàn)樘峤坏膖oken值與session里的不一致
(md 因?yàn)?storag2目錄么權(quán)限 —>storage/framework/sessions 是存儲(chǔ)session的目錄)
開啟777就ok了
最后總結(jié)一下排錯(cuò)順序
1.檢查表單有沒有 csrf_token
2.linux 下storage有沒有讀寫權(quán)限
3.檢查session存儲(chǔ)位置時(shí)候更換過(換過里面還是否有_token)
4.清除瀏覽器緩存,laravel緩存
最后沒招 自己源碼debug吧
到此這篇關(guān)于laravel csrf驗(yàn)證總結(jié)的文章就介紹到這了,更多相關(guān)laravel csrf驗(yàn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Yii基于CActiveForm的Ajax數(shù)據(jù)驗(yàn)證用法示例
這篇文章主要介紹了Yii基于CActiveForm的Ajax數(shù)據(jù)驗(yàn)證用法,結(jié)合實(shí)例形式分析了Yii視圖自定義Form表單的ajax提交及控制器處理實(shí)現(xiàn)方法,需要的朋友可以參考下2016-07-07Ajax和PHP正則表達(dá)式驗(yàn)證表單及驗(yàn)證碼
這篇文章主要介紹了Ajax和PHP正則表達(dá)式驗(yàn)證表單及驗(yàn)證碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09PHP中使用GD庫繪制折線圖 折線統(tǒng)計(jì)圖的繪制方法
本文通過代碼給大家介紹php中使用GD庫繪制折線圖,涉及到php中GD庫的一些簡單使用,本文介紹的非常詳細(xì),感興趣的朋友一起學(xué)習(xí)吧2015-11-11淺談使用 PHP 進(jìn)行手機(jī) APP 開發(fā)(API 接口開發(fā))
做過 API 的人應(yīng)該了解,其實(shí)開發(fā) API 比開發(fā) WEB 更簡潔,但可能邏輯更復(fù)雜,因?yàn)?API 其實(shí)就是數(shù)據(jù)輸出,不用呈現(xiàn)頁面,所以也就不存在 MVC(API 只有 M 和 C),那么我們來探討下,如何使用php進(jìn)行手機(jī)API接口開發(fā)2014-08-08php操縱mysqli數(shù)據(jù)庫的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp操縱mysqli數(shù)據(jù)庫的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09Thinkphp 框架擴(kuò)展之Widget擴(kuò)展實(shí)現(xiàn)方法分析
這篇文章主要介紹了Thinkphp 框架擴(kuò)展之Widget擴(kuò)展實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Thinkphp 框架Widget擴(kuò)展概念、原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04Yii實(shí)現(xiàn)自動(dòng)加載類地圖的方法
這篇文章主要介紹了Yii實(shí)現(xiàn)自動(dòng)加載類地圖的方法,涉及Yii加載類的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04