84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
我们公司准备用前后端分离做项目, 前后端为了保持登录状态, 我看了网上很多都说的用token来保持登录, 现在我在token中直接存放md5(sessionid)可以么?有没有什么问题?
本质上前端对数据进行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
多加密几层吧,一个md5太简单了。
token你就直接在登陆 时有MD5加密 日期 就好了啊, 然后扔redis, 之后的在拦截器拦一下做个判断就好了
只要不存放敏感的内容(密码等),个人没有问题的。建议使用现在流行的 jwt,各种语言都有实现的库,使用起来还是非常的方便的。
session id就是一个token,再md5反而多余。
sessionid 本身难道不就是一个加密后明文的 token 么…对它再 md5 没必要啊
sessionid
完全可以,用jwt吧。在token 中要注意验证合法性。
本质上前端对数据进行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
多加密几层吧,一个md5太简单了。
token你就直接在登陆 时有MD5加密 日期 就好了啊, 然后扔redis, 之后的在拦截器拦一下做个判断就好了
只要不存放敏感的内容(密码等),个人没有问题的。建议使用现在流行的 jwt,各种语言都有实现的库,使用起来还是非常的方便的。
session id就是一个token,再md5反而多余。
sessionid
本身难道不就是一个加密后明文的 token 么…对它再 md5 没必要啊完全可以,用jwt吧。在token 中要注意验证合法性。