主頁 > 知識庫 > laravel csrf驗證總結(jié)

laravel csrf驗證總結(jié)

熱門標(biāo)簽:新河科技智能外呼系統(tǒng)怎么樣 安裝電銷外呼系統(tǒng) 地圖標(biāo)注平臺怎么給錢注冊 常州地圖標(biāo)注服務(wù)商 注冊400電話申請 釘釘打卡地圖標(biāo)注 百度商鋪地圖標(biāo)注 福州人工外呼系統(tǒng)哪家強 衡水外呼系統(tǒng)平臺

laravel csrf驗證總結(jié)

前言問題:
laravel 在web路由下無論是表單提交啊 還是ajax請求啊 只要是請求方式不滿足 ['HEAD', 'GET', 'OPTIONS']
就會報419錯誤,原因是其自帶開啟csrf驗證,防止csrf攻擊
感興趣的可以看看這部分源碼:Illuminate\Foundation\Http\Middleware\VerifyCsrfToken

解決方式:

一.屏蔽csrf驗證

部分屏蔽
App\Http\Middleware\VerifyCsrfToken.php
protected $except = [
//這里添加屏蔽的路由地址
];

全部屏蔽
App\Http\Kernel.php
注釋 \App\Http\Middleware\VerifyCsrfToken::class,

二.加入csrf驗證參數(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) {}
  });

注意!!!

因為呢 laravel的token是存儲在session里的,所以呢,我遇到了一個大坑,代碼傳到linux里后 csrf總報錯???
最后debug發(fā)現(xiàn) 因為提交的token值與session里的不一致
(md 因為 storag2目錄么權(quán)限 —>storage/framework/sessions 是存儲session的目錄)
開啟777就ok了

最后總結(jié)一下排錯順序

1.檢查表單有沒有 csrf_token
2.linux 下storage有沒有讀寫權(quán)限
3.檢查session存儲位置時候更換過(換過里面還是否有_token)
4.清除瀏覽器緩存,laravel緩存
最后沒招 自己源碼debug吧

到此這篇關(guān)于laravel csrf驗證總結(jié)的文章就介紹到這了,更多相關(guān)laravel csrf驗證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • laravel下trait的使用代碼實例詳解
  • 清除laravel緩存命令代碼實例
  • 在swoole中制作一款仿制laravel的框架的實例代碼
  • laravel與thinkphp之間的區(qū)別與優(yōu)缺點
  • laravel日志優(yōu)化實例講解

標(biāo)簽:克拉瑪依 唐山 柳州 白城 六安 鶴崗 鷹潭 遼陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《laravel csrf驗證總結(jié)》,本文關(guān)鍵詞  laravel,csrf,驗證,總結(jié),laravel,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《laravel csrf驗證總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于laravel csrf驗證總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章