我们公司准备用前后端分离做项目, 前后端为了保持登录状态, 我看了网上很多都说的用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