三个问题:
1.cookie 与 session 相比真的存在安全性上的不同吗? 我最初的理解是因为后端要根据 cookie 得到确切的用户是谁,所以即使编码也可以解码出来,必定要暴露一定的信息.而且可以被修改成其他用户. 但是同学给我说了一个奇怪的例子,把 cookie 设定为 username+md5(pwd),后端拿到做一个简单的验证,这样的话就避免了窜改的可能性.如果这样做还有什么安全性的区别嘛,尽管这样还是会暴露一个 username,但是似乎也没什么问题吧?
2.session 与 cookie 的根本区别是什么呢? 延伸第一个问题,如果 cookie 里边存储的一个没有实际意义的字符串 flag,但是后端 user 表里有着一个字段 flag,能根据它取出用户,这种方式已经算是 session 了吗?session 与 cookie 的区别是从前端还是后端判定身份还是在后端有一个 session 管理,能够存储更多的复杂结构的额外信息呢?
2.sessionid 和 token 的区别是什么呢? 感觉都是编码后的字符串,后端解码出来然后判定用户和权限.我看的有的文章说 token 主要不是用来鉴权,而是存储一些基本信息.这种说法合理吗?他们的根本区别是什么呢?