关于登录登出记录数据的问题~~~急

kenticny0270 2012-04-18 06:58:15
我做一个登录验证的程序,要求是一个账号在登录期间不可以有其他人登录,我使用的是在数据库中创建一个字段,当点击登录后,该字段为1,当点击退出按钮登出后,该字段为0,在登录时,判断该字段如果为1则不允许登录。但是我没有办法捕捉到用户直接关闭浏览器、结束浏览器进程或者用户机器死机的情况。

百度上有人说使用onunload或者onbeforeunload事件来捕捉关闭浏览器,但是这种方法在刷新时也会触发,有找到了这种方法的增强版,即防止刷新的,但是对于多标签的浏览器或者基于IE内核的其他浏览器(除IE)都不能很好的实现,而且使用特殊方法关闭浏览器也有问题。所以这种方法基本PASS了

百度上还有人说使用session或者application记录信息,但是这两个方法在关闭浏览器的时候也不能立即出发,也得等待周期到了以后才能实现。

我无奈了~~~特来此请教各位大神~~能够赐予我一个可行的办法~~~我该怎么办啊
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
文盲老顾 2012-04-18
  • 打赏
  • 举报
回复
使用 online 表记录登录状态,好处是,可以定时清除长时间不活动的用户,默认他异常关闭了

这样,在清除登录状态信息时,把标示也清空了,可以方便下次登录,并且,如果真的是异常关闭了,但还online表内的信息还没到超时的限定时间,用户使用原来的电脑打开页面,可以校验标示成功后,默认他已经登录了,不需要进行重复登录
「已注销」 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
这个期限你可以定成很长的,比如半年,也可以在正常登出的时候顺便清除

这就是个思路,你可以自己理一理,然后根据需要再调整

只要保证用户操作的时候,与cookie内存在的标示是一致的,才可以进行,不一致就拒绝
[/Quote]

明白了 非常感谢~~~
文盲老顾 2012-04-18
  • 打赏
  • 举报
回复
这个期限你可以定成很长的,比如半年,也可以在正常登出的时候顺便清除

这就是个思路,你可以自己理一理,然后根据需要再调整

只要保证用户操作的时候,与cookie内存在的标示是一致的,才可以进行,不一致就拒绝
「已注销」 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
记录一个 online 表,或者再增加一个字段,用来记录用户标示(唯一标示,存放到 cookie 和数据库中)

当用户登陆成功,产生一个标示,然后再次登陆则校验该标示,如果标示不同,则不允许登陆,或通过安全问题等方式,强行登陆,退出则标示清除

当用户进行操作时,进行标示校验,如果标示不同,则自动踢出登陆状态
[/Quote]
Cookie存成长期的?
文盲老顾 2012-04-18
  • 打赏
  • 举报
回复
记录一个 online 表,或者再增加一个字段,用来记录用户标示(唯一标示,存放到 cookie 和数据库中)

当用户登陆成功,产生一个标示,然后再次登陆则校验该标示,如果标示不同,则不允许登陆,或通过安全问题等方式,强行登陆,退出则标示清除

当用户进行操作时,进行标示校验,如果标示不同,则自动踢出登陆状态

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧