搜尋

首頁  >  問答  >  主體

php - 公司採用前後端分離, token我直接用sessionid可以麼?

我們公司準備用前後端分離做專案, 前後端為了保持登入狀態, 我看了網上很多都說的用token來保持登入, 現在我在token中直接存放md5(sessionid)可以麼?有沒有什麼問題?

曾经蜡笔没有小新曾经蜡笔没有小新2796 天前1003

全部回覆(7)我來回復

  • ringa_lee

    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

    回覆
    0
  • 为情所困

    为情所困2017-05-16 13:00:06

    多加密幾層吧,一個md5太簡單了。

    回覆
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:00:06

    token你就直接在登陸 時有MD5加密 日期 就好了啊, 然後扔redis, 之後的在攔截器攔一下做個判斷就好了

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-16 13:00:06

    只要不存放敏感的內容(密碼等),個人沒有問題的。建議使用現在流行的 jwt,各種語言都有實作的函式庫,使用起來還是非常方便的。

    回覆
    0
  • 黄舟

    黄舟2017-05-16 13:00:06

    session id就是一個token,再md5反而多餘。

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:00:06

    sessionid 本身不就是一個加密後明文的 token 麼…對它再 md5 沒必要啊

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:00:06

    完全可以,用jwt吧。在token 中要注意驗證合法性。

    回覆
    0
  • 取消回覆