国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

使用SpringSecurity處理CSRF攻擊的方法步驟

2024-07-14 08:43:58
字體:
來源:轉載
供稿:網友

CSRF漏洞現狀

CSRF(Cross-site request forgery)跨站請求偽造,也被稱為One Click Attack或者Session Riding,通常縮寫為CSRF或XSRF,是一種對網站的惡意利用。盡管聽起來像跨站腳本(XSS),但它與XSS非常不同,XSS利用站點內的信任用戶,而CSRF則通過偽裝成受信任用戶的請求來利用受信任的網站。與XSS攻擊相比,CSRF攻擊往往不大流行(因此對其進行防范的資源也相當稀少)和難以防范,所以被認為比XSS更具危險性。 

CSRF是一種依賴web瀏覽器的、被混淆過的代理人攻擊(deputy attack)。

POM依賴

<!-- 模板引擎 freemarker --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency><!-- Security (只使用CSRF部分) --><dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId></dependency>

配置過濾器

@SpringBootApplicationpublic class Application { public static void main(String[] args) {  SpringApplication.run(Application.class, args); }  /**  * 配置CSRF過濾器  *  * @return {@link org.springframework.boot.web.servlet.FilterRegistrationBean}  */ @Bean public FilterRegistrationBean<CsrfFilter> csrfFilter() {  FilterRegistrationBean<CsrfFilter> registration = new FilterRegistrationBean<>();  registration.setFilter(new CsrfFilter(new HttpSessionCsrfTokenRepository()));  registration.addUrlPatterns("/*");  registration.setName("csrfFilter");  return registration; }}

在form請求中添加CSRF的隱藏字段

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

在AJAX請求中添加header頭

xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");

jQuery的Ajax全局配置

jQuery.ajaxSetup({ "beforeSend": function (request) {  request.setRequestHeader("${_csrf.headerName}", "${_csrf.token}"); }});

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 容城县| 来安县| 阳谷县| 厦门市| 遂溪县| 玉环县| 渝中区| 土默特左旗| 长宁县| 雅安市| 大化| 沂南县| 张北县| 会理县| 大同县| 无极县| 密云县| 满洲里市| 明光市| 潜江市| 吉隆县| 延津县| 浮山县| 收藏| 兴山县| 乌兰察布市| 辛集市| 漳州市| 丹寨县| 大安市| 建始县| 吉首市| 通海县| 贡觉县| 仁寿县| 宣城市| 阿勒泰市| 晋宁县| 嘉义市| 诏安县| 襄樊市|