1
ss098 2014-07-26 23:05:00 +08:00
Session 并不是最佳的验证用户的方案,性能偏低(虽然小应用无所谓啦),我使用的方法是
在 Cookie 中将一个数组变成 JSON 加密存储到 Cookie 中,数组中存一些常用的资料,比如 用户名,uid,email 等等 在访问每一个页面的时候解密这个 Cookie,得到每一个页面都需要用到的资料,避免了一次数据库查询。 |
3
ityao 2014-07-27 08:02:48 +08:00
@ss098 多终端更新同一段需要在session中存储的消息呢?只依赖session信息就不能同步了, 我的做法是服务器端session只存储比较固定和稳定的数据,例如用户id
|
4
vfasky 2014-07-27 08:52:31 +08:00 via iPhone
@ss098 这方案非常危险! 加密的结果存在本地,就存在破解的可能性,且因为结果在本地,你不能限制破解次数。
只需成功解密一个cookie,理论上,是可以伪造任何数据!到时只能呵呵了。 这种方案是得不偿失的! |
5
ss098 2014-07-27 08:53:55 +08:00 via Android
|
8
vfasky 2014-07-27 09:03:45 +08:00 via iPhone
|
10
dong3580 2014-07-27 10:07:57 +08:00 via Android
我都是本地加密cookie,和服务器session某个字段对比,复杂的本地加密字段基本在短时间内破解不出来,所以只要能让他在一个月或者一两周破不出来,就已经达到了加密的目的了。
|
11
rekey 2014-07-29 19:08:17 +08:00 1
话说 LZ 不给 cookies 设置有效期,就直接每次访问都直接续期的么?
|
12
serenader OP |
13
rekey 2014-07-30 10:25:00 +08:00
这个在我的角度真的只能你自己理解了。我觉得我知道但是我说不好。
|
14
pp3182429 2014-07-30 16:59:26 +08:00
|
15
rexren 2014-08-24 06:07:37 +08:00
@pp3182429 ```express-session``` 本身就支持用redis作为session store.. https://github.com/expressjs/session
|