新聞中心
這篇文章主要介紹怎么在spring boot中使用spring security防止CSRF攻擊,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站是一家專業(yè)提供沂南企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站建設、做網(wǎng)站、H5場景定制、小程序制作等業(yè)務。10年已為沂南眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
CSRF是什么?
CSRF(Cross-site request forgery),中文名稱:跨站請求偽造,也被稱為:one click attack/session riding,縮寫為:CSRF/XSRF。
CSRF可以做什么?
你這可以這么理解CSRF攻擊:攻擊者盜用了你的身份,以你的名義發(fā)送惡意請求。CSRF能夠做的事情包括:以你名義發(fā)送郵件,發(fā)消息,盜取你的賬號,甚至于購買商品,虛擬貨幣轉(zhuǎn)賬......造成的問題包括:個人隱私泄露以及財產(chǎn)安全。
CSRF漏洞現(xiàn)狀
CSRF這種攻擊方式在2000年已經(jīng)被國外的安全人員提出,但在國內(nèi),直到06年才開始被關(guān)注,08年,國內(nèi)外的多個大型社區(qū)和交互網(wǎng)站分別爆出CSRF漏洞,如:NYTimes.com(紐約時報)、Metafilter(一個大型的BLOG網(wǎng)站),YouTube和百度HI......而現(xiàn)在,互聯(lián)網(wǎng)上的許多站點仍對此毫無防備,以至于安全業(yè)界稱CSRF為“沉睡的巨人”。
在一個spring boot項目中,需要防止CSRF攻擊,可以只把spring security中的相關(guān)filter引入來進行.
在pom中添加相關(guān)依賴
org.springframework.boot spring-boot-starter-freemarker org.springframework.security spring-security-web
在app啟動時,添加CsrfFilter
@SpringBootApplication public class Application extends WebMvcConfigurerAdapter { @Bean public FilterRegistrationBean csrfFilter() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new CsrfFilter(new HttpSessionCsrfTokenRepository())); registration.addUrlPatterns("/*"); return registration; } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
form中添加CSRF的hidden字段
ajax中添加CSRF的頭
xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");
以上是“怎么在spring boot中使用spring security防止CSRF攻擊”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章題目:怎么在springboot中使用springsecurity防止CSRF攻擊
本文地址:http://www.ef60e0e.cn/article/pcpsjo.html