老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

SpringSecurity框架下實現CSRF跨站攻擊防御的方法

SpringSecurity框架下實現CSRF跨站攻擊防御的方法

創新互聯公司是一家專業提供鐵東企業網站建設,專注與成都做網站、成都網站設計、成都外貿網站建設H5開發、小程序制作等業務。10年已為鐵東眾多企業、政府機構等服務。創新互聯專業網站制作公司優惠進行中。

一、什么是CSRF

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

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

CSRF是一種網絡攻擊方式,也可以說是一種安全漏洞,這種安全漏洞在web開發中廣泛存在。

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

二、CSRF的攻擊方式

通常的CSRF攻擊方式如下:

你登錄了網站A,攻擊者向你的網站A賬戶發送留言、偽造嵌入頁面,帶有危險操作鏈接。

當你在登錄狀態下點擊了攻擊者的連接,因此該鏈接對你網站A的賬戶進行了操作。

這個操作是你在網站A中主動發出的,并且也是針對網站A的HTTP鏈接請求,同源策略無法限制該請求。

三、如何防御CSRF攻擊

為系統中的每一個連接請求加上一個token,這個token是隨機的,服務端對該token進行驗證。破壞者在留言或者偽造嵌入頁面的時候,無法預先判斷CSRF token的值是什么,所以當服務端校驗CSRF token的時候也就無法通過。所以這種方法在一定程度上是靠譜的。

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

跳轉提示:當用戶不小心點擊了第三方連接,合格的應用應該提示用戶相關的風險!由用戶自己確認是否真的要跳轉或者執行第三方連接,或者就干脆不讓非可信連接在留言區等地方存在。

四、Spring Security的CSRF token攻擊防護

首先,我們要先開啟防護功能,在用戶登陸操作之后,生成的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,并設置cookie的HttpOnly=false,允許js讀取該cookie。

使用ignoringAntMatchers開放一些不需要進行CSRF防護的訪問路徑,比如:登錄授權。

至此,我們生成了CSRF token保存在了cookies中,瀏覽器向服務端發送的HTTP請求,都要將CSRF token帶上,服務端校驗通過才能正確的響應。這個校驗的過程并不需要我們自己寫代碼實現,Spring Security會自動處理。但是我們需要關注前端代碼,如何正確的攜帶CSRF token。

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

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

5.1.在Header中攜帶CSRF token

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

5.2.直接作為參數提交。

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

5.3.form表單的隱藏字段

總結

以上所述是小編給大家介紹的SpringSecurity框架下實現CSRF跨站攻擊防御,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創新互聯網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!


分享標題:SpringSecurity框架下實現CSRF跨站攻擊防御的方法
本文URL:http://www.xueling.net.cn/article/iisoop.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产中文欧美日韩在线 | 视频二区在线播放 | 最新国内精品自在自线视频 | 国产迷晕暴力玩弄网站 | 蜜臀亚洲av永久无码精品老司机 | 亚洲中文无码永久免 | 久久精品国产清自在天天线 | 欧洲人妻丰满AV无码久久不卡 | 91呆先生大战瑜伽老师 | 国产一区二区在线观看视频 | 亚洲精品久久AV无码蜜桃第1集 | 婷婷九九 | 亚洲经典国产 | 国产成人麻豆亚洲综合无码精品 | 成人性生交大片看1 | 欧美日韩免费黄色网站 | 精品欧美一区二区精品久久 | 情侣黄网站免费看 | 亚洲精品中文字幕无码A片老 | 亚洲欧洲精品一区二区 | 日本免费不卡 | 无套内谢少妇毛片a片免费 麻豆蜜桃视频 | 亚洲精品视频91 | 久热超碰在线 | 久久久无码精品亚洲日韩啪啪网站 | 成人日韩在线 | 亚洲国产精品隔壁老王 | 欧美日韩一区二区三区不卡 | 国产精品免费网址 | 精品国产一区二区AV麻豆不卡 | jvid在线播放观看免费 | 亚洲成av人片在线观看无 | 动漫一区二区 | 一级黄色片免费播放 | 娇小1213╳yⅹ╳毛片 | 亚洲日韩激情无码中出 | 麻豆精品视频在线播放 | 特级毛片在线看 | 欧美性大战xxxxx久久久 | 亚洲视频1区2区3区4区 | 精品无码人妻一区二区免费蜜桃 |