我們公司準備用前後端分離做專案, 前後端為了保持登入狀態, 我看了網上很多都說的用token來保持登入, 現在我在token中直接存放md5(sessionid)可以麼?有沒有什麼問題?
ringa_lee2017-05-16 13:00:06
本質上前端對數據進行encrypt是降低可讀性,例如用戶的敏感數據,處於隱私保護的目的。假如你傳遞的是seesion_id的話,是沒必要再進行encrypt的。至於上面有人提到的md5這樣的做法是錯誤的(針對傳遞seesion_id),因為本身seesion_id就是作為key來使用,md5屬於hash的一種方式(不可逆),後端如果要使用的話也是直接拿來用,你幾層md5都沒有意義了(如果被劫持了,直接就用了)
你提到的token問題,在於後端如何來實作authentication部分,是恢復session來儲存訊息,還是使用token來驗證介面呼叫權限。根據後端的實現方式不同而不同。
session是瀏覽器中放置的cookie來保存,依靠的是瀏覽器的cookie expire時間來控制登陸保持時間(客戶端角度)。
其餘的內容你參考下這個session cookie vs token