欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

注冊PersistentTokenRepository

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

基于內(nèi)存實(shí)現(xiàn)

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

修改安全配置類

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

頁面添加記住我復(fù)選框

記住我:

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

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

CSRF 理解(默認(rèn)開啟)

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

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

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

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

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

從Spring Security 4.0開始,默認(rèn)情況下會啟用CSRF保護(hù),以防止CSRF攻擊應(yīng)用程序,Spring Security CSRF會針對PATCH,POST,PUT和DELETE方法進(jìn)行防護(hù)。

解決方案

檢查Referer字段

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

以下是檢查Referer字段的一些常見缺點(diǎn):

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

CSRFToken

由于CSRF 是開啟的所以我們在登陸是未檢出token,則被認(rèn)定為csrf攻擊,報(bào)異常

security實(shí)現(xiàn)

在登錄頁面添加一個(gè)隱藏域:

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

關(guān)閉安全配置的類中的csrf

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

總結(jié)

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

相關(guān)文章

  • struts2實(shí)現(xiàn)多文件上傳

    struts2實(shí)現(xiàn)多文件上傳

    這篇文章主要為大家詳細(xì)介紹了struts2實(shí)現(xiàn)多文件上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Seata集成Mybatis-Plus解決多數(shù)據(jù)源事務(wù)問題

    Seata集成Mybatis-Plus解決多數(shù)據(jù)源事務(wù)問題

    當(dāng)進(jìn)行業(yè)務(wù)操作時(shí),訂單發(fā)生異常 ,進(jìn)行了回滾操作,因?yàn)樵诓煌臄?shù)據(jù)庫實(shí)例中,余額卻扣除成功,此時(shí)發(fā)現(xiàn)數(shù)據(jù)不一致問題,本文給大家介紹Seata集成Mybatis-Plus解決多數(shù)據(jù)源事務(wù)問題,感興趣的朋友一起看看吧
    2023-11-11
  • Java使用Tess4J實(shí)現(xiàn)圖像識別方式

    Java使用Tess4J實(shí)現(xiàn)圖像識別方式

    這篇文章主要介紹了Java使用Tess4J實(shí)現(xiàn)圖像識別方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java實(shí)現(xiàn)樹形List與扁平List互轉(zhuǎn)的示例代碼

    Java實(shí)現(xiàn)樹形List與扁平List互轉(zhuǎn)的示例代碼

    在平時(shí)的開發(fā)中,我們時(shí)常會遇到需要將"樹形List"與"扁平List"互轉(zhuǎn)的情況,本文為大家整理了Java實(shí)現(xiàn)樹形List與扁平List互轉(zhuǎn)的示例代碼,希望對大家有所幫助
    2023-05-05
  • Java獲取泛型實(shí)際類型的方法詳解

    Java獲取泛型實(shí)際類型的方法詳解

    這篇文章主要介紹了Java獲取泛型實(shí)際類型的方法詳解,泛型,即“參數(shù)化類型”,一提到參數(shù),最熟悉的就是定義方法時(shí)有形參列表,普通方法的形參列表中,每個(gè)形參的數(shù)據(jù)類型是確定的,而變量是一個(gè)參數(shù),需要的朋友可以參考下
    2023-11-11
  • java實(shí)現(xiàn)簡單計(jì)算器功能

    java實(shí)現(xiàn)簡單計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • SpringBoot獲取配置文件中的配置項(xiàng)的常用方式

    SpringBoot獲取配置文件中的配置項(xiàng)的常用方式

    這篇文章主要介紹了SpringBoot獲取配置文件中的配置項(xiàng)的常用方式,并通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-11-11
  • java application maven項(xiàng)目打自定義zip包實(shí)例(推薦)

    java application maven項(xiàng)目打自定義zip包實(shí)例(推薦)

    下面小編就為大家?guī)硪黄猨ava application maven項(xiàng)目打自定義zip包實(shí)例(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringBoot參數(shù)校驗(yàn)的最佳實(shí)戰(zhàn)教程

    SpringBoot參數(shù)校驗(yàn)的最佳實(shí)戰(zhàn)教程

    開發(fā)過程中,后臺的參數(shù)校驗(yàn)是必不可少的,下面這篇文章主要給大家介紹了關(guān)于SpringBoot參數(shù)校驗(yàn)的最佳實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • 淺談利用Spring的AbstractRoutingDataSource解決多數(shù)據(jù)源的問題

    淺談利用Spring的AbstractRoutingDataSource解決多數(shù)據(jù)源的問題

    本篇文章主要介紹了淺談利用Spring的AbstractRoutingDataSource解決多數(shù)據(jù)源的問題,具有一定的參考價(jià)值,有需要的可以了解一下
    2017-08-08

最新評論