新四季網

一種基於json驗證碼的安全認證攔截的方法與流程

2023-09-21 05:04:20 3


本發明涉及計算機軟體技術領域,具體地說是一種基於json驗證碼的安全認證攔截的方法。



背景技術:

在分布式環境下的應用,資源訪問的安全性非常重要,如果系統資源可以不經登錄就可以直接訪問,那麼系統內的資源隨時有洩露的危險,造成不可估量的損失。另外,在分布式環境下,對用戶行為進行安全認證攔截,性能要求會更高。我們在保證信息安全的同時,也必須保證安全審計不會造成性能壓力,以提高安全審計的效率。

傳統的安全認證攔截方式,都是需要依賴session來存儲用戶的id和上下文信息,需要佔用大量伺服器內存。通過檢測session是否已經存在來判斷用戶是否已經登錄。在分布式環境下,會有海量用戶同時在線,包含大量的用戶信息的session數據很快會把伺服器內存耗盡,容易造成宕機。因此,session模式並不適用於同時有海量在線用戶的分布式環境。基於此,現提供一種基於json驗證碼的安全認證攔截的方法,通過採用json驗證碼的方式,是無狀態的,將存儲的壓力分散到了各個客戶端中,防止用戶在沒有登錄系統的情況下,直接訪問系統資源,並且不佔用伺服器資源,不影響訪問效率。



技術實現要素:

本發明的技術任務是針對以上不足之處,提供一種基於json驗證碼的安全認證攔截的方法。

一種基於json驗證碼的安全認證攔截的方法,其實現過程為:首先將系統內所有的訪問連結都視為系統的資源,只有成功登陸的用戶,才可以訪問,未登錄的用戶不能訪問;在成功登錄後,給用戶授予一個json驗證碼,當用戶訪問系統資源時,用戶的每個訪問請求都附上該json驗證碼,即沒有json驗證碼、或者是json驗證碼過期的訪問請求,均認定為非法請求,不授予權限。

用戶登錄時獲取json驗證碼的過程為:

當用戶在客戶端登錄時,客戶端向後臺的服務端發送用戶名和密碼,且密碼傳輸時進行加密;

服務端在用戶名密碼驗證通過後,查看緩存中是否有用戶信息,如果沒有則訪問資料庫得到用戶信息;

然後將用戶的信息保存在可信的服務端緩存中;

服務端將用戶信息傳給驗證碼生成器,為該用戶創建一個經過加密的json驗證碼。

用戶獲取的json驗證碼保存在客戶端的瀏覽器cookie中,該cookie中不保存用戶信息,用戶的信息保存在服務端,即該cookie為驗證碼的儲存地址。

基於上述驗證碼,用戶訪問系統資源的過程為:

當用戶發出訪問請求時,從cookie中取出驗證碼,添加在訪問請求的報文頭部中以post方式傳遞到服務端;

服務端接收到客戶端的訪問請求後,先判斷其報文頭部有沒有驗證碼,如果有驗證碼,則先解密,檢查驗證碼是否正確,是否已經過期;如果沒有驗證碼,或者驗證碼過期,或者驗證碼為偽造的,則拒絕資源請求;如果判斷驗證碼有效,則返回給用戶請求的資源。

當瀏覽器關閉後,cookie自動被清除,服務端存儲信息到時間自動失效。

本發明的一種基於json驗證碼的安全認證攔截的方法和現有技術相比,具有以下有益效果:

本發明的一種基於json驗證碼的安全認證攔截的方法,大幅度提升了分布式環境下伺服器的訪問效率,避免了海量用戶同時在線造成宕機的情況,並且json驗證碼都經過AES265加密的,且具有時效性的,避免了被截獲後信息洩露的風險;系統中用戶的上下文信息並不保存在客戶端,而是保存在服務端的可信緩存中,進一步保障了訪問的安全性,當token超時或過期後,提供續期機制,讓用戶體驗更順暢,實用性強,適用範圍廣泛,具有很好的推廣應用價值。

附圖說明

附圖1為本發明的實現流程圖。

具體實施方式

下面結合附圖及具體實施例對本發明作進一步說明。

如附圖1所示,本發明提供一種基於json驗證碼的安全認證攔截的方法,發明的目的在於防止用戶在沒有登錄系統的情況下,直接訪問系統資源。

其實現過程為:首先將系統內所有的訪問連結都視為系統的資源,只有成功登陸的用戶,才可以訪問,未登錄的用戶不能訪問;在成功登錄後,給用戶授予一個json驗證碼,當用戶訪問系統資源時,用戶的每個訪問請求都附上該json驗證碼,即沒有json驗證碼、或者是json驗證碼過期的訪問請求,均認定為非法請求,不授予權限。

具體過程為:

用戶登錄,向後臺發送用戶名和密碼。密碼傳輸時需要加密。

服務端在用戶名密碼驗證通過後,如果緩存中沒有用戶信息,訪問資料庫得到用戶信息。

將用戶的信息保存在可信的服務端緩存中,避免頻繁訪問資料庫。

服務端將用戶信息傳給驗證碼生成器,為該用戶創建一個經過加密的json驗證碼,該驗證碼通過AES265加密,並且此驗證碼是有時效性的,即使被截獲或者被洩露也會很快失效。

將此驗證碼保存到客戶端cookie當中。cookie中不保存用戶的任何信息,用戶的信息都在服務端,避免信息洩露,此時只是把 cookie 當作一個儲存機制,而不是一種驗證機制,所以沒有 XSRF 攻擊的危險。

當用戶點擊菜單時,從cookie中取出驗證碼,添加在訪問請求的報文頭部中以post方式傳遞到伺服器端。

服務端接收到一個客戶端的資源請求後,會先判斷其報文頭部有沒有驗證碼,有驗證碼的話,會先解密,檢查驗證碼是否正確,是否已經過期。如果沒有驗證碼,或者驗證碼過期,或者驗證碼是偽造的,會拒絕資源請求。如果判斷驗證碼有效,才會返回給用戶請求的資源。

當瀏覽器關閉後,cookie自動被清除,服務端存儲信息到時間自動失效。

在 tokens 的使用中,一旦 token 過期,只需要重新獲取一個。服務端提供接口刷新 token,刷新後得到一個更新了有效期的 token,同時舊token失效。

基於json驗證碼的安全認證攔截的方法,與傳統的安全認證攔截技術目的都是判斷用戶的訪問是否登錄用戶的操作,如果是未經登陸授權的操作,就攔截。傳統的方式是通過session進行的。通過校驗session是否存在,來判斷用戶是否已經登錄。而且信息未經過加密,不安全。本發明則是通過json驗證碼在服務端校驗來實現的。

服務端不需要存貯記錄用戶的登錄狀態的session的信息。不需要保存任何登錄用戶的狀態。

通過本發明,可實現以下兩點:

一是為了提高分布式環境下高並發情況下的訪問效率。分布式環境下,海量用戶登錄,同時在線的用戶數量龐大,存儲大量的session數據給伺服器帶來巨大的壓力。本發明的實現方式,不需要在服務端存儲大量的登錄信息,只需要在客戶端保存加密憑據,從而大幅度的降低了服務端的壓力。

二是為了提高用戶訪問的安全性。服務端攔截客戶端發來的每個請求,通過驗證請求是否帶著合法的token驗證碼來驗證用戶是否已經登錄。防止用戶在沒有登錄系統的情況下,直接訪問系統資源,造成信息洩露和惡意訪問,破壞信息系統安全。並且產生的json驗證碼都進行了加密,並且設置了時效性,有效保障json驗證碼的可信度。

在本發明中,伺服器端不需要存儲用戶的登錄狀態,服務端只需要驗證客戶端json驗證碼是否合法即可。減少了服務端的內存壓力。採用服務端緩存技術,將用戶信息有效的緩存在起來,進一步減輕了訪問資料庫的壓力。並且客戶端只存貯了用戶唯一標識和json驗證碼,不會存儲密碼這種敏感信息,避免了人為惡意攻擊客戶端造成密碼洩露。同時json驗證碼是有時效性的,默認240分鐘失效,即使被截獲,也不會給夠進行暴力破解的時間,避免了截獲後的信息洩露風險。而且json驗證碼是經過AES256加密算法加密,有效保證了信息的安全。

通過上面具體實施方式,所述技術領域的技術人員可容易的實現本發明。但是應當理解,本發明並不限於上述的具體實施方式。在公開的實施方式的基礎上,所述技術領域的技術人員可任意組合不同的技術特徵,從而實現不同的技術方案。

除說明書所述的技術特徵外,均為本專業技術人員的已知技術。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀