一、 什么是 CSRF ?
CSRF是Cross Site Request Forgery的縮寫,看起來和XSS差不多的樣子,但是其原理正好相反,XSS是利用合法用戶獲取其信息,而CSRF是偽造成合法用戶發(fā)起請求。具體操作原理看google。。
二、Laravel的CSRF防御過程
Laravel 會(huì)自動(dòng)在用戶 session (根據(jù)session_id 關(guān)聯(lián)確認(rèn)屬于誰) 生成存放一個(gè)隨機(jī)令牌(token)放在session中,并且如果使用 Laravel 的 {{form::open}} 會(huì)自動(dòng)隱藏存在 csrf_token(),如果需要寫html form 則需要在表單中添加具體看下圖:
三、Token產(chǎn)生原理
通過 Illuminate\Session\Store 類的 getToken 方法獲取隨機(jī)產(chǎn)生長度為40的字符串
以上這篇對laravel的csrf 防御機(jī)制詳解,及form中csrf_token()的存在介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Laravel 解決419錯(cuò)誤 -ajax請求錯(cuò)誤的問題(CSRF驗(yàn)證)
- laravel框架中表單請求類型和CSRF防護(hù)實(shí)例分析
- laravel 實(shí)現(xiàn)關(guān)閉CSRF(全部關(guān)閉、部分關(guān)閉)
- laravel csrf排除路由,禁止,關(guān)閉指定路由的例子
- Laravel框架中VerifyCsrfToken報(bào)錯(cuò)問題的解決
- laravel csrf驗(yàn)證總結(jié)