最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于spring-security(記住密碼,CSRF)

 更新時間:2024年11月16日 08:56:54   作者:何老生  
文章主要介紹了Spring Security中的PersistentTokenRepository、CSRF保護機制以及如何在登錄頁面添加記住我功能,并分享了相關實現(xiàn)代碼和配置

注冊PersistentTokenRepository

  • PersistentTokenRepository實現(xiàn)類
  • InMemoryTokenRepositoryImpl基于內存實現(xiàn)
  • JdbcTokenRepositoryImpl基于數(shù)據(jù)庫實現(xiàn)

基于內存實現(xiàn)

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
public PersistentTokenRepository persistentTokenRepository() {
PersistentTokenRepository tokenRepository = new InMemoryTokenRepositoryImpl();
return tokenRepository;
}
}

修改安全配置類

http.rememberMe().tokenRepository(persistentTokenRepository())
                .tokenValiditySeconds(120)//設置有效時長,單位秒
                .userDetailsService(userDetailsService)

頁面添加記住我復選框

記住我:

<input type="checkbox"name="remember-me"title="記住密碼"/><br/>

此處:name 屬性值必須位remember-me.不能改為其他值

CSRF 理解(默認開啟)

跨站請求偽造(英語:Cross-site request forgery),也被稱為 one-click attack 或者 session riding,通??s寫為 CSRF 或者 XSRF, 是一種挾制用戶在當前已登錄的Web應用程序上執(zhí)行非本意的操作的攻擊方法。

跟跨網(wǎng)站腳本(XSS)相比,XSS利用的是用戶對指定網(wǎng)站的信任,CSRF 利用的是網(wǎng)站對用戶網(wǎng)頁瀏覽器的信任。

跨站請求攻擊,簡單地說,是攻擊者通過一些技術手段欺騙用戶的瀏覽器去訪問一個自己曾經(jīng)認證過的網(wǎng)站并運行一些操作(如發(fā)郵件,發(fā)消息,甚至財產操作如轉賬和購買商品)。

由于瀏覽器曾經(jīng)認證過,所以被訪問的網(wǎng)站會認為是真正的用戶操作而去運行。

這利用了web中用戶身份驗證的一個漏洞:簡單的身份驗證只能保證請求發(fā)自某個用戶的瀏覽器,卻不能保證請求本身是用戶自愿發(fā)出的。

從Spring Security 4.0開始,默認情況下會啟用CSRF保護,以防止CSRF攻擊應用程序,Spring Security CSRF會針對PATCH,POST,PUT和DELETE方法進行防護。

解決方案

檢查Referer字段

Referer字段通常由瀏覽器在HTTP請求中發(fā)送,告訴服務器用戶是從哪個頁面鏈接過來的。然而,由于Referer字段可以被用戶修改或禁用,因此不能完全信任它來確保請求是從指定頁面發(fā)起的。

以下是檢查Referer字段的一些常見缺點:

  • 用戶可以修改Referer字段:一些用戶可能會修改HTTP請求頭中的Referer字段,以試圖繞過安全檢查。
  • Referer字段可能被緩存:某些代理服務器或緩存服務器可能會緩存Referer字段

CSRFToken

由于CSRF 是開啟的所以我們在登陸是未檢出token,則被認定為csrf攻擊,報異常

security實現(xiàn)

在登錄頁面添加一個隱藏域:

<input type="hidden"th:if="${_csrf}!=null" th:value="${_csrf.token}" name="_csrf"/>

關閉安全配置的類中的csrf

// http.csrf().disable();

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 編譯期動態(tài)替換三方包中的Class文件過程詳解

    編譯期動態(tài)替換三方包中的Class文件過程詳解

    這篇文章主要為大家介紹了編譯期動態(tài)替換三方包中的Class文件過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • java算法之二分查找法的實例詳解

    java算法之二分查找法的實例詳解

    這篇文章主要介紹了java算法之二分查找法的實例詳解的相關資料,這里提供簡單實例幫助大家學習理解這部分內容,需要的朋友可以參考下
    2017-08-08
  • Mybatis-Plus開發(fā)提速器generator的使用

    Mybatis-Plus開發(fā)提速器generator的使用

    本文就介紹這款基于Mybatis-Plus的代碼自助生成器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • SpringBoot下實現(xiàn)session保持方式

    SpringBoot下實現(xiàn)session保持方式

    這篇文章主要介紹了SpringBoot下實現(xiàn)session保持方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java Persistence對象關系映射的基礎與應用

    Java Persistence對象關系映射的基礎與應用

    這篇文章主要介紹了Java Persistence對象關系映射的基礎與應用,Persistence API是Java平臺提供的對象關系映射標準,旨在簡化關系型數(shù)據(jù)庫的持久化操作,它在Java EE和Java SE環(huán)境中均可使用,為開發(fā)者提供了統(tǒng)一的數(shù)據(jù)訪問方式,需要的朋友可以參考下
    2025-05-05
  • 解決Spring boot 嵌入的tomcat不啟動問題

    解決Spring boot 嵌入的tomcat不啟動問題

    這篇文章主要介紹了解決Spring boot 嵌入的tomcat不啟動問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java文件基本操作總結

    Java文件基本操作總結

    今天給大家?guī)淼氖顷P于Java基礎的相關知識,文章圍繞著Java文件操作展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java實現(xiàn)把文件壓縮成zip文件的示例代碼

    Java實現(xiàn)把文件壓縮成zip文件的示例代碼

    這篇文章主要為大家介紹了如何通過Java語言實現(xiàn)將文件壓縮成zip文件,本文中示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • java計算兩個日期之間相差天數(shù)的4種方法詳解

    java計算兩個日期之間相差天數(shù)的4種方法詳解

    這篇文章主要給大家介紹了關于java計算兩個日期之間相差天數(shù)的4種方法,本文簡短地介紹java中多種方式求兩個日期的差量,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-09-09
  • Springmvc如何實現(xiàn)向前臺傳遞數(shù)據(jù)

    Springmvc如何實現(xiàn)向前臺傳遞數(shù)據(jù)

    這篇文章主要介紹了Springmvc如何實現(xiàn)向前臺傳遞數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07

最新評論

富阳市| 寻甸| 云南省| 南川市| 荔波县| 富宁县| 镇雄县| 田东县| 龙游县| 乌苏市| 会理县| 锡林浩特市| 晋中市| 山丹县| 武乡县| 舞阳县| 孝感市| 临城县| 乌拉特后旗| 蒙山县| 敖汉旗| 长汀县| 汨罗市| 江油市| 河南省| 临澧县| 南陵县| 安阳市| 呼和浩特市| 无极县| 江孜县| 元阳县| 临泉县| 静海县| 康马县| 新民市| 望谟县| 房山区| 正阳县| 肃南| 长顺县|