关于SESSION的问题 如何判断SESSION_ID是否有效?现在要做一下功能,防止同一个用户同时登录。现在的做法是将用户名,SESSION_ID,IP等记录到数据库中,但现在有个问题是如果用户是异常退出的,如何判断用户的登录信息是否有效? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库表中加一个Session的过期时间,时间一到就将该ID设为无效。 我SESSION_ID,IP,登录标识等信息记录到数据库中,是为了每次登录时防止用户用同一个用户名同时登录 就是处理异常情况的啊。因为你侦测不到用户的异常情况,你只能在用户有操作时更新数据库的SESSION信息,所以用户有异常时,当用户一段时间未操作后,就将用户的SESSION设置为过期,那么用户下次登录时就允许他登录。 你不需要知道他异常退出,只要过期时间到了,SESSION就设置为无效。 你的过期时间是不是PHP中的SESSION设置,我说的是在数据库字段中加一个过期时间,如果用户再登录时先检查和上次登录的时间相比是不是超时了,如果超时就允许他再次登录,如果没有超时就不让他登陆。 把session设置一个过期时间,当时间到了的时候就自动销毁 http://topic.csdn.net/u/20090712/12/5d0e294b-2807-40cd-a88d-f5e95d0d1cb1.html 怎么不人性化了,不管是不是退出,只要超过一定时限,session就应该失效啊。 踢掉前一个比较简单但如果想阻止登录就必须使用 ajax 做 keepalive, 将timeout 改短 考虑单点登录吧。只有这样才能处理 非法关机 、浏览器的问题。可是具体的sso 怎么实现 我也不太会。你去google吧 我的做法:在用户在线表中设置一个lastactivity字段,用户每次有操作或者查看其他页面都将这个字段进行更新,如果lastactivity和现在的时间差距超过一个小时则判定用户注销。每次有用户登录的时候都清除一下在线表中超过一个小时没有活动的用户记录,这样就不用去判断用户是不是异常退出了,只需要判断用户是不是超过一个小时没有活动就可以了。 session有个有效时间,一旦到时间,自动销毁! 还是那句 ... 不做ajax keepalive你的用户异常退出后,帐户会锁死一小时不能用我会设每 30~60 秒传 keepalive2~5 分钟断线登出 SSO 跟这个主题没关系 php 语言 典范 求解 多谢了 Fatal error: Call to undefined function curl_init() in D:\wamp\www\bj\qq.php on CSS連結問題 门户新闻详细页面右侧排行榜如果做 导出MYSQL数据库的表结构的问题,(接之前帖子),兄弟们进来看看 eclipse for php 如何设置自动换行 面试题----关于运营型SNS网站开发的一些问题 mysqldump命令不能跳过某些表么? 转换时间格式 我的PHP怎么连不上mysql呢??!! apache+php+mysql环境搭建完,怎样运行程序? 刷新问题,谢谢!
怎么不人性化了,不管是不是退出,只要超过一定时限,session就应该失效啊。
但如果想阻止登录就必须使用 ajax 做 keepalive, 将timeout 改短
你的用户异常退出后,帐户会锁死一小时不能用我会设每 30~60 秒传 keepalive
2~5 分钟断线登出
SSO 跟这个主题没关系