我試圖瞭解用戶如何保持登錄(我試圖在沒有框架的節點上實現此功能,以進行學習)。只是一對夫婦的基於問題是什麼我想我明白:試圖瞭解登錄系統和會話
(1)當用戶嘗試登錄,它發送一個HTTP請求主體的用戶名和密碼
(2)當數據到達服務器,它檢查所需的一切,如果用戶存在,如果密碼正確
然後,我想,我的問題:用戶如何保持登錄?第三步是這樣的:
(3)服務器創建所有需要的會話數據,加密併發送給客戶端?
(4)客戶機存儲在localStorage的經加密的數據
(5)的憑據sended每個請求給服務器,並且服務器將其解密和前處理每個用戶的檢查它行動。
這就是我所理解的。但我覺得這非常引人入勝。我覺得我錯過了很多...在客戶端存儲數據似乎(至少對我來說)並不安全。會話數據是否應存儲在服務器端?以及如何安全地發送用戶名和密碼?它必須加密客戶端?這是安全的嗎?我想即時尋找一些模式,或者我不知道。我感到失落。
是的,抱歉,我的英語不好,知識欠佳。我不是要求代碼,我也歡迎任何提示(喜歡什麼就在谷歌搜索,或有趣的博客):)
謝謝,Y聯合國abrazo :)
---編輯--- 好了,終於我創辦了一些有用的鏈接,解決了我的疑惑的很大一部分:)
[http://stackoverflow.com/questions/6922145/what-is-the-difference-between-server-side-cookie-and-client-side-cookie][1]
[http://blog.codinghorror.com/protecting-your-cookies-httponly/][2]
[http://www.cse.msu.edu/~alexliu/publications/Cookie/cookie.pdf][3]
[https://es.wikipedia.org/wiki/Cookie_(inform%C3%A1tica)][4]
[https://newspaint.wordpress.com/2015/09/06/how-to-get-cookies-from-node-js-http-response/][5]
實質上,數據存儲在服務器,數據庫如mysql,mongo或dynamo中。它由一個密鑰訪問,該密鑰在用戶會話中的cookie中啓動。 express中的中間件檢查cookie是否存在,檢索密鑰並從數據存儲中檢索數據。這使您可以在對應用程序的調用中保持完整的會話,並且還允許客戶端在負載平衡的情況下工作,在這種情況下,它們可能不總是在同一個節點服務器上。 – CargoMeister