数据库里每个账号有个状态(state),设它有两个值,"offline","online",
如果登陆验证通过,纪录下登陆时间,设state为"online",并且设个时间比如10分钟让它失效,
变为"offline",如果再登陆state为"online",则拒绝登陆

解决方案 »

  1.   

    楼上的,我想问一下,是不是如果我才登陆进去,POWER OFF 而且我没UPS,这样的话我的帐户记录就是online了,而我1分钟后想登陆也就不能登陆了(嘎嘎好痛苦),要我再等9分钟后才能登陆系统?不过大致解决办法如你所说(还有细节你有保留)
      

  2.   

    记录其IP和PORT在数据库里,当其再登录的时候判断是否已经有相同的存在.这样即使是在同一个局域网中都不能用两台机器同时登录.
      

  3.   

    其实呢~~          不用保存那么多数据,只需要保存一样数据进行验证就行了          session_id();
      

  4.   

    非常感谢各位提出的宝贵意见,我考虑过用时间差还是用session来进行验证,我也同意sports98((︶︵︶)) 用session验证会比较简单且准确些,但不清楚其详细方法,可否详明用session验证的解决方法,谢谢!
      

  5.   

    连接帐户表,获得用户段资料
        检测帐户sessionid字段是否为空
        if(空){
            注册session获得session_id  更新帐户sessionid字段 内容为session_id
        }else{
            读取sessionid字段内容,去session.save_path找文件
            if(找到){
                 帐户处与登陆状态
            }else{
                 帐户已经异常的脱离了系统,更新sessionid内容我这次登陆系统的session_id();
            }
        }
      

  6.   

    遇到不支持COOKIE的客户端SID会通过URL传递
    有没有考虑SID泄露的问题?
    还需要加判断。