日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2025/4/17 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 csrf防御 java_一分钟了解【CSRF攻击与防御】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

含義

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

實(shí)例

用戶首先登錄B網(wǎng)站,然后打開A網(wǎng)站(惡意網(wǎng)站),A通過Script標(biāo)簽加載了一個(gè)B網(wǎng)站的URL,由于用戶登錄了B網(wǎng)站,該URL剛好是一個(gè)寫數(shù)據(jù)的接口,就會(huì)造成數(shù)據(jù)損失。

防御方式

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

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

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

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

// CSRF攻擊

return;

}

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

$.post(url, {

password:"輸入密碼"

});

有些網(wǎng)站采用的是用戶在登錄B網(wǎng)站后生成一個(gè)秘鑰存儲(chǔ)到cookie中,或者是在需要的時(shí)候調(diào)用一個(gè)接口獲取秘鑰,請求URL的時(shí)候帶上這個(gè)秘鑰。這種方式也是可行的,但是存儲(chǔ)到cookie中就有被竊取的風(fēng)險(xiǎn),使用單獨(dú)的接口獲取秘鑰,這個(gè)接口本身也有可能被CSRF攻擊。所以,我認(rèn)為最可靠的方式還是校驗(yàn)登錄密碼,這是用戶自身安全級別最高的數(shù)據(jù)。

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。