日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

csrf防御 java_一分钟了解【CSRF攻击与防御】

發布時間:2025/4/17 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 csrf防御 java_一分钟了解【CSRF攻击与防御】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

含義

跨站請求偽造(英語:Cross-Site Request Forgery),簡稱CSRF。是指網站在用戶不知情的情況下,引導用戶請求外部URL。

實例

用戶首先登錄B網站,然后打開A網站(惡意網站),A通過Script標簽加載了一個B網站的URL,由于用戶登錄了B網站,該URL剛好是一個寫數據的接口,就會造成數據損失。

防御方式

根據上面的實例,A是攻擊網站,B是被攻擊網站。這種攻擊的特殊之處就在于,用戶側很難感知到自己被“綁架”做了一個“可怕”的操作。這就是為什么我們不能隨便打開一個陌生的網站。

我們從B網站的角度來分析,如何避免CSRF攻擊。由于請求是從A網站發起的,所以服務端只要能識別請求是來自B網站自身,就能阻止這樣的攻擊。

最簡單的辦法,我們可以校驗請求的來源,也就是Referer,來判斷請求是否來自B網站。不過這種方式并不可靠,因為Referer是瀏覽器傳遞的,不能保證絕對的可靠性。

if (strpos($_SERVER['HTTP_REFERER'], 'www.test.com') === false) {

// CSRF攻擊

return;

}

另外一種辦法是B網站在請求服務端時讓用戶輸入密碼,服務端先對密碼進行校驗。A網站不知道密碼,自然也就束手無策了。這種方法,可以很好地防御CSRF攻擊。

$.post(url, {

password:"輸入密碼"

});

有些網站采用的是用戶在登錄B網站后生成一個秘鑰存儲到cookie中,或者是在需要的時候調用一個接口獲取秘鑰,請求URL的時候帶上這個秘鑰。這種方式也是可行的,但是存儲到cookie中就有被竊取的風險,使用單獨的接口獲取秘鑰,這個接口本身也有可能被CSRF攻擊。所以,我認為最可靠的方式還是校驗登錄密碼,這是用戶自身安全級別最高的數據。

總結

以上是生活随笔為你收集整理的csrf防御 java_一分钟了解【CSRF攻击与防御】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。