登陸驗證機制

2022-02-24 16:53:47 字數 1026 閱讀 7940

做過web開發的程式設計師應該對session都比較熟悉,session是一塊儲存在伺服器端的記憶體空間,一般用於儲存使用者的會話資訊。

使用者通過使用者名稱和密碼登陸成功之後,伺服器端程式會在伺服器端開闢一塊session記憶體空間並將使用者的資訊存入這塊空間,同時伺服器會

在cookie中寫入乙個session_id的值,這個值用於標識這個記憶體空間。

下次使用者再來訪問的話會帶著這個cookie中的session_id,伺服器拿著這個id去尋找對應的session,如果session中已經有了這個使用者的

登陸資訊,則說明使用者已經登陸過了。

使用session保持會話資訊使用起來非常簡單,技術也非常成熟。但是也存在下面的幾個問題:

伺服器壓力大:通常session是儲存在記憶體中的,每個使用者通過認證之後都會將session資料儲存在伺服器的記憶體中,而當使用者量增大時,伺服器的壓力增大。

session共享:現在很多應用都是分布式集群,需要我們做額外的操作進行session共享;

csrf跨站偽造請求攻擊:session機制是基於瀏覽器端的cookie的,cookie如果被截獲,使用者就會很容易受到跨站請求偽造的攻擊。

基於token的認證機制將認證資訊返回給客戶端並儲存。下次訪問其他頁面,需要從客戶端傳遞認證資訊回服務端。簡單的流程如下:

客戶端使用使用者名稱跟密碼請求登入;

服務端收到請求,去驗證使用者名稱與密碼;

驗證成功後,服務端會簽發乙個 token,再把這個 token 傳送給客戶端;

客戶端收到 token 以後可以把它儲存起來,比如放在 cookie 裡或者 local storage 裡;

客戶端每次向服務端請求資源的時候需要帶著服務端簽發的 token;

服務端收到請求,然後去驗證客戶端請求裡面帶著的 token,如果驗證成功,就向客戶端返回請求的資料;

基於token的驗證機制,有以下的優點:

退出登陸的話,只要前端清除token資訊即可。

登陸機制詳解

登陸機制可粗略分為三個部分 登陸驗證 登陸保持 登出 登陸驗證 登陸驗證是指客戶端提供使用者名稱和密碼,想伺服器提出登陸請求,伺服器判斷客戶端是否可以登陸並向客戶端確認 登陸保持 是指客戶端登陸後,伺服器能夠分辨出已登陸的使用者,並為其持續提供有登陸許可權的伺服器 登出 是指客戶端主動退出登陸狀態 ...

ssh登陸強制使用密碼驗證登陸

linux系統使用ssh進行登陸,可以採用密碼登陸和秘鑰登陸。採用密碼登陸每次需要輸入密碼進行驗證,驗證通過則可登陸到環境。秘鑰登陸為在伺服器的客戶端生成相應的公鑰和私鑰,公鑰用於加密,私鑰用於解密。然後將公鑰發給需要連線的服務端。當客戶端需要連線服務端時,服務端利用公鑰將使用者名稱和密碼加密傳送給...

nginx basic auth 登陸驗證模組

1.新建乙個pw.pl檔案專門用來生成密碼 usr bin perl use strict my pw argv 0 print crypt pw,pw n 2.修改nginx配置檔案,新增,使用者名稱和密碼存放的位置 auth basic nginx status auth basic user ...