3 回答

TA貢獻1775條經(jīng)驗 獲得超8個贊
區(qū)別在于:
登出是指客戶端主動退出登錄狀態(tài)。容易想到的方案是,客戶端登錄成功后, 服務(wù)器為其分配sessionId, 客戶端隨后每次請求資源時都帶上sessionId。
服務(wù)器判斷用戶是否登錄, 完全依賴于sessionId, 一旦其被截獲, 黑客就能夠模擬出用戶的請求。于是我們需要引入token的概念: 用戶登錄成功后, 服務(wù)器不但為其分配了sessionId, 還分配了token, token是維持登錄狀態(tài)的關(guān)鍵秘密數(shù)據(jù)。在服務(wù)器向客戶端發(fā)送的token數(shù)據(jù),也需要加密。于是一次登錄的細節(jié)再次擴展。
客戶端向服務(wù)器第一次發(fā)起登錄請求(不傳輸用戶名和密碼)。
服務(wù)器利用RSA算法產(chǎn)生一對公鑰和私鑰。并保留私鑰, 將公鑰發(fā)送給客戶端。
客戶端收到公鑰后, 加密用戶密碼,向服務(wù)器發(fā)送用戶名和加密后的用戶密碼; 同時另外產(chǎn)生一對公鑰和私鑰,自己保留私鑰, 向服務(wù)器發(fā)送公鑰; 于是第二次登錄請求傳輸了用戶名和加密后的密碼以及客戶端生成的公鑰。
服務(wù)器利用保留的私鑰對密文進行解密,得到真正的密碼。 經(jīng)過判斷, 確定用戶可以登錄后,生成sessionId和token, 同時利用客戶端發(fā)送的公鑰,對token進行加密。最后將sessionId和加密后的token返還給客戶端。
客戶端利用自己生成的私鑰對token密文解密, 得到真正的token。

TA貢獻1836條經(jīng)驗 獲得超3個贊
Cookie 是由 Web 服務(wù)器保存在用戶瀏覽器上的小文本文件,它包含有關(guān)用戶的信息
token是由應(yīng)用商通過賬號密碼生成的有時效有權(quán)限的隨機數(shù)。
- 3 回答
- 0 關(guān)注
- 977 瀏覽
添加回答
舉報