2014-08-28 121 views
2

好吧我有一個用node.js編寫的API,我試圖添加會話功能。該API是完整的RESTful。當用戶登錄時,我通過GET ajax調用向/ login端點發送用戶/通過組合。然後,服務器使用密碼並將其與存儲在我的mongo數據庫中的散列進行比較。然後,根據登錄成功情況,它會以真或假迴應。將會話密鑰存儲在localstorage中

我想要實現的是:當用戶輸入有效的登錄名時,服務器生成一個會話密鑰。該密鑰存儲在用戶文檔的mongo中。該會話密鑰隨後與GET請求一起返回。這個會話密鑰將被包含在所有未來請求的JSON正文中,以允許用戶訪問他們的賬戶信息。

我的問題:是否安全地將此會話密鑰存儲在瀏覽器的localStorage或sessionStorage中?這是否會讓用戶知道任何漏洞?

+0

所以你想在瀏覽器中存儲會話密鑰的MongoDB的intead? – vmr 2014-08-28 14:44:41

+0

不,我想將它存儲在MongoDB和sessionStorage中,以便會話密鑰可以包含在每個RESTful AJAX調用中。 – 2014-08-28 18:25:04

回答

1

繼承人鏈接到secruity.stackexchange,它解釋了可能的漏洞。根據W3C的說法,網絡存儲對於sensitive data是安全的。

+0

謝謝,這是一個很好的資源。 – 2014-08-28 18:23:34

+0

沒問題!我最近在會話和本地存儲方面工作很多。客戶端存儲解決方案絕對不是完美的,因爲它們可以在不同的瀏覽器中以不同的方式實現,所以沒有真正的「解決方案」。 – 2014-08-28 21:39:08