1
no13bus OP 没有人知道吗?
|
2
66beta 2014-03-04 18:35:13 +08:00
貌似~~
服务器端是session,不存cookie 浏览器端是cookie cookie加密,跟服务器的session做校验? |
3
no13bus OP 是吗?是我问的问题太简单吗?
|
4
zxb888 2014-03-05 10:41:20 +08:00
我最近刚做过的:用户登录检验后,把session['key']加密保存在cookie中,并在memcache中保存一个key。
下次浏览时,把memcache保存的key与session['key']比较,如果相同,用户处在登录状态,如果不同,提示用户重新登录。使用场景类似微信登录情况。不知你是想在何场景下使用? |
5
no13bus OP @zxb888 就是个论坛 类似v2ex 因为每次我打开浏览器的时候 我的v2ex都是在登录的。呵呵。那保存这个数据出了memcache,我觉得这种验证的东西只能放到数据库里面 mysql redis memcacheed。像php的$_GLOBAL是不能永久保存这个验证值的吧????有人说python的flask框架里面g变量能做到memcacheed这样的作用,重启浏览器之后还能保存着那个值。
|
6
zxb888 2014-03-05 14:20:00 +08:00
@no13bus $_GLOBAL当然不能永久保存!!python我不懂。看你说的每次都是要登录,说明session没有起作用。估计还不太明白session的用途,建议找些session资料看看!方便的话,你把登录验证后给session赋值的程序片段贴上来看看。
|
7
no13bus OP |
8
no13bus OP 重发一次 刚才格式看着不对。
https://gist.github.com/9389531 |
9
no13bus OP |
10
zxb888 2014-03-09 08:04:36 +08:00 via Android
cookie('auto',$auto,3600);这是你每次都要登录的问题所在!
但是你整个登录的流程存在明显的漏洞,我只要知道某用户的uid和username,我就能登录!!! 实际上你的系统,根本用不到cookie。 session一般来说是保存在服务器端的(也可以自己定义保存在cookie里);cookie是保存在浏览器端的。浏览器端的cookie是可以伪造的。 建议找些php的session的资料和登录的源码先琢磨一下。 |