搜索

首页  >  问答  >  正文

php - 公司采用前后端分离, token我直接用sessionid可以么?

我们公司准备用前后端分离做项目, 前后端为了保持登录状态, 我看了网上很多都说的用token来保持登录, 现在我在token中直接存放md5(sessionid)可以么?有没有什么问题?

曾经蜡笔没有小新曾经蜡笔没有小新2751 天前985

全部回复(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
  • 取消回复