csrf攻擊在laravel中如何解決

蝸牛 互聯網技術資訊 2022-06-23 32 0

這篇文章主要介紹“csrf攻擊在laravel中如何解決”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“csrf攻擊在laravel中如何解決”文章能幫助大家解決問題。

解決方法:1、利用Laravel自動為每個用戶Session生成了一個“CSRF Token”,該Token可用于驗證登錄用戶和發起請求者是否是同一人,如不是則請求失??;2、提供了一個全局幫助函數“csrf_token”來獲取Token值,只需在視圖提交表單中添加token代碼即可,語法為“<...value= php="" echo="">”。

本文操作環境:Windows10系統、Laravel9版、Dell G3電腦。

csrf攻擊在laravel中的解決方法

CSRF是跨站請求偽裝(Cross-site request forgery)的英文縮寫;

Laravel框架中避免CSRF攻擊很簡單:

1、Laravel自動為每個用戶Session生成了一個CSRF Token,該Token可用于驗證登錄用戶和發起請求者是否是同一人,如不是則請求失敗。(原理和驗證碼是一致的。)

2、 Laravel提供了一個全局幫助函數csrf_token來獲取Token值,因此只需在視圖提交表單中添加如下HTML代碼即可在請求中帶上Token:

<input?type="hidden"?name="_token"?value="<?php?echo?csrf_token();??>">

Laravel中如何避免CSRF攻擊

案例:通過案例實現csrf的機制驗證
1、創建兩個路由,一個用于展示表單(get),另外處理請求(post)

Route::get('test6','Home\TestController@test6');Route::post('test7','Home\TestController@test7');

2、創建需要的方法

	?public?function?test6(){
????????return?view('home.test.test6');
?????}
?????public?function?test7()
?????{
?????????return?"請求提交成功";
?????}

3、創建需要的簡易表單

4、提交效果(報錯頁面)

結論:通過剛才的案例,說明在laravel中csrf驗證機制默認是開啟的。

5、解決報錯問題(如何通過csrf驗證)
解決思路:帶上csrf需要token值,隨著請求傳遞給后續的方法

<form?action="/home/test/test7"?method="post">
????用戶名:<input?type="text"?name="username"><br>
????<input?type="hidden"?name="_token"?value="{{csrf_token()}}">
????{{csrf_field()}}
????<input?type="submit"?value="提交"></form>

針對csrf_token方法的簡化:{{csrf_field()}}

兩者的區別:
Csrf_token只是輸出token的值
Csrf_field輸出了一個整個的input隱藏域

在后期使用的時候怎么選擇:大部分情況下可以自己根據情況選擇。但是有一個情況下開發者是沒有選擇權限的,必須需要使用csrf_token的,這個情況就是使用異步提交表單的方式。

從CSRF驗證中排除例外路由

并不是所有請求都需要避免CSRF攻擊,比如去第三方API獲取數據的請求。
可以通過在VerifyCsrfToken(app/Http/Middleware/VerifyCsrfToken.php)中間件中將要排除的請求URL添加到$except屬性數組中:

通過編寫配置設置例外:
單個路由排除寫法

?'home.test.test6',

多個元素之間通過“,”分割,遵循數組寫法。

'home.test.test6','home.test.test7'

如果需要排除全部路由使用csrf的話,則可以寫成:

'*'

關于“csrf攻擊在laravel中如何解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注蝸牛博客行業資訊頻道,小編每天都會為大家更新不同的知識點。

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

評論

2018人人澡人摸人人添_月夜影视在线观看资源_一本二卡三卡四卡乱码小说_tobu8在线观看下载