最好是后来登录者(B)挤掉前面的登录者(A),
并且,当A有新操作时,向他发出警告:“有其他人登录”,由A自己判断B是否非法
然后A可以向管理员投诉或者自行锁帐号等等

解决方案 »

  1.   

    数据库session+cookie,后来者挤掉前者
      

  2.   

    这样啊~也就是说,只要不是点击“注销”退出的,都是非法退出吧?ASP可以使用Session Start进行控制。但是PHP没有这样的好运了。只能使用数据库进行存储每个人的最后动作时间了。Cookie能作假,session好像实现不了。在“注销”的时候,把最后活动时间清空,其他的视乎,每次操作网页的时候,就往数据库里面写入一次动作时间。在这个用户登陆的时候,如果动作时间不是空,就说明,这个用户是非法退出了。OK?重点就是“注销”的时候清空数据库里面的最后动作时间!
      

  3.   

    同样求助啊,
    没有好办法啊。
    cookie不完全安全,
    session又没法在关闭浏览器之后继续存在,
    还没有session监听的机制。
    在数据表中建立信息表,记录其状态,
    使用session还是cookie呢,
    用session一样在关闭浏览器后的一段时间(从最后退出时间到设定的销毁登录状态的时间)内无法登陆,
    要是cookie吧,安全不说,要是用户使用了清空浏览器数据(好像很多用户都将清空数据作为扫除浏览器垃圾的功能来用,使用频率不低啊),一样是在一定时间内无法登陆。
    难道真的没有完美的解决方案吗??
    纠结。
    求大神帮忙!!!
      

  4.   

    补充一点,
    突然想到,要是在数据表中同时保存用户的登陆IP,
    然后,对于同一个IP,给予其登陆权,保证其在session或者cookie丢失,而没有超过销毁登陆时间的情况下可以正常登陆。
    这样只有这个用户在本机非正常情况推出,而在短时间(没有超过设定的销毁记录时间)内在另一个IP登陆,就要等待了。
    这个BUG可容忍吗??