欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

SpringSecurity框架下如何實(shí)現(xiàn)CSRF跨站攻擊防御

這篇文章主要介紹了SpringSecurity框架下如何實(shí)現(xiàn)CSRF跨站攻擊防御,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

為札達(dá)等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及札達(dá)網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、札達(dá)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

一、什么是CSRF

很多朋友在學(xué)習(xí)Spring Security的時(shí)候,會(huì)將CORS(跨站資源共享)和CSRF(跨站請求偽造)弄混,以為二者是一回事。其實(shí)不是,先解釋一下:

CORS(跨站資源共享)是局部打破同源策略的限制,使在一定規(guī)則下HTTP請求可以突破瀏覽器限制,實(shí)現(xiàn)跨站訪問。

CSRF是一種網(wǎng)絡(luò)攻擊方式,也可以說是一種安全漏洞,這種安全漏洞在web開發(fā)中廣泛存在。

當(dāng)我們使用Spring Security的時(shí)候,這種CSRF漏洞默認(rèn)的被防御掉了。但是你會(huì)發(fā)現(xiàn)在跨域請求的情況下,我們的POST、DELETE、PUT等HTTP請求方式失效了。所以在筆者之前的文章中,我們使用http.csrf.disable()暫時(shí)關(guān)閉掉了CSRF的防御功能,但是這樣是不安全的,那么怎么樣才是正確的做法呢?就是本文需要向大家介紹的內(nèi)容。

二、CSRF的攻擊方式

通常的CSRF攻擊方式如下:

你登錄了網(wǎng)站A,攻擊者向你的網(wǎng)站A賬戶發(fā)送留言、偽造嵌入頁面,帶有危險(xiǎn)操作鏈接。

當(dāng)你在登錄狀態(tài)下點(diǎn)擊了攻擊者的連接,因此該鏈接對你網(wǎng)站A的賬戶進(jìn)行了操作。

這個(gè)操作是你在網(wǎng)站A中主動(dòng)發(fā)出的,并且也是針對網(wǎng)站A的HTTP鏈接請求,同源策略無法限制該請求。

三、如何防御CSRF攻擊

為系統(tǒng)中的每一個(gè)連接請求加上一個(gè)token,這個(gè)token是隨機(jī)的,服務(wù)端對該token進(jìn)行驗(yàn)證。破壞者在留言或者偽造嵌入頁面的時(shí)候,無法預(yù)先判斷CSRF token的值是什么,所以當(dāng)服務(wù)端校驗(yàn)CSRF token的時(shí)候也就無法通過。所以這種方法在一定程度上是靠譜的。

但是如果你的電腦中毒,網(wǎng)絡(luò)信息被劫持使用token的方法仍然不安全。所以沒有絕對的安全,道高一次魔高一丈。作為開發(fā)者,我們就做到我們應(yīng)該做到的。

跳轉(zhuǎn)提示:當(dāng)用戶不小心點(diǎn)擊了第三方連接,合格的應(yīng)用應(yīng)該提示用戶相關(guān)的風(fēng)險(xiǎn)!由用戶自己確認(rèn)是否真的要跳轉(zhuǎn)或者執(zhí)行第三方連接,或者就干脆不讓非可信連接在留言區(qū)等地方存在。

四、Spring Security的CSRF token攻擊防護(hù)

首先,我們要先開啟防護(hù)功能,在用戶登陸操作之后,生成的CSRF Token就保存在cookies中。

public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception {  http.csrf()   .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())   .ignoringAntMatchers("/authentication");  .and()  ... }}

使用CookieCsrfTokenRepository生成CSRF Token放入cookie,并設(shè)置cookie的HttpOnly=false,允許js讀取該cookie。

使用ignoringAntMatchers開放一些不需要進(jìn)行CSRF防護(hù)的訪問路徑,比如:登錄授權(quán)。

至此,我們生成了CSRF token保存在了cookies中,瀏覽器向服務(wù)端發(fā)送的HTTP請求,都要將CSRF token帶上,服務(wù)端校驗(yàn)通過才能正確的響應(yīng)。這個(gè)校驗(yàn)的過程并不需要我們自己寫代碼實(shí)現(xiàn),Spring Security會(huì)自動(dòng)處理。但是我們需要關(guān)注前端代碼,如何正確的攜帶CSRF token。

五、前端請求攜帶CSRF Token的方式

在thymeleaf模板中可以使用如下方式,在發(fā)送HTTP請求的時(shí)候攜帶CSRF Token。如果是前后端分離的應(yīng)用,或者其他模板引擎,酌情從cookies中獲取CSRF Toekn。

5.1.在Header中攜帶CSRF token

var headers = {};headers['X-CSRF-TOKEN'] = "${_csrf.token}";$.ajax({  headers: headers, });

5.2.直接作為參數(shù)提交。

$.ajax({  data: {    "_csrf": "${_csrf.token}"   }});

5.3.form表單的隱藏字段

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}">

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“SpringSecurity框架下如何實(shí)現(xiàn)CSRF跨站攻擊防御”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

標(biāo)題名稱:SpringSecurity框架下如何實(shí)現(xiàn)CSRF跨站攻擊防御
本文鏈接:http://aaarwkj.com/article32/igcssc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、自適應(yīng)網(wǎng)站、域名注冊、手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
中文字幕国产精品综合| 欧美一区二区三区午夜| 一区二区三区人妻av| 亚洲精品免费福利视频| 国产精品久久一级黄片| 在线播放精品免费不卡 | 久久精品中文字幕人妻| 五月婷婷少妇中文字幕| 這裏隻有无码人妻久久| 声入人心第一季在线观看| 白白在线观看网站看看亚洲| 亚洲中文字幕激情中午字幕| 久久九九亚洲欧美中文字幕| 亚洲国产偷拍在线观看| 五十路八十路息与子交尾| 亚洲中文字幕激情中午字幕| 男女午夜激情四射视频| 中文字幕日本精品人妻在线| 亚洲欧美成人高清在线观看| 日本一区二区三区在线观看视频| 亚洲av香蕉综合一区| 亚洲国产欧美日韩一区| 韩国av电影免费观看| 粉嫩一区二区三区在线| 99热精品在线免费观看| av毛片高清在线观看| 日韩精品一区二区视频| 亚洲成在人线天堂网站| 久久99精品人妻一区二区三区| 亚洲精品乱码在线播放| 日韩免费av在线观看| 亚洲美女高潮久久久久久久久| 亚洲中文字幕少妇熟女美妇| 国产美女主播在线精品一区| 国产成人午夜视频免费一区 | 亚洲最色一区二区三区| 97视频精品免费观看| 99精品亚洲一区二区| 女人高潮被爽到呻吟在线| 亚洲欧美日本国产一区| 国产91黑丝在线播放|