问题是这样的,我有一个程序(假设单个页面),这个程序被运行的时候,我不想让多个浏览器能同时运行,因为SESSION,COOKIE这样的会因为浏览器内核不同而导致验证不一样,就会出现可能同一时间,开3个不同内核的浏览器就能同时模拟3个用户运行该程序。如何验证才能保证在同一时间,一台电脑一个用户只能运行一个该程序,而不会受到浏览器的影响。就比如网页游戏的登录,同一浏览器不能同时登录多个账号,但是开3个不同浏览器就能同时登录3个账号。如何验证才能防止这种“多开”的情况?

解决方案 »

  1.   

    http://www.baidu.com/baidu?word=js%E8%8E%B7%E5%8F%96mac%E5%9C%B0%E5%9D%80&ie=utf-8
      

  2.   

    有帐号就好办了,后一个登录杀掉前一个,记录最新一个session id就行
      

  3.   


    那我怎么知道哪个账号对应着哪一个账号呢,我只是防止一个用户多个账号同时登录,而不是这个程序只能一个用户而且一个账号登录很晕,怎么会不知道呢?登录时不判断不记录帐号的么?难道就一个True/False?
      

  4.   

    我得提醒一下: mac地址是可以伪造的...
      

  5.   


    那我怎么知道哪个账号对应着哪一个账号呢,我只是防止一个用户多个账号同时登录,而不是这个程序只能一个用户而且一个账号登录很晕,怎么会不知道呢?登录时不判断不记录帐号的么?难道就一个True/False?我的目的是想防止“一个用户多开”的情况,所以我要确定的是,这个用户只能同时使用一个账号,如果他注册了三个账号,用三个不同浏览器登陆,那么服务器针对每个账号来看确实没问题,但是这三个账号都是同一个用户同一时间登陆的,我现在要确定这个用户只能使用其中一个
      

  6.   

    你账号哪里做一个验证就行了,SESSION是每访问一次有一个唯一ID的,换浏览器就肯定换新的了
      

  7.   


    我现在是要想办法确定用户唯一,不是账号唯一,换了新SESSION那我还怎么确定他之前是不是登录过了
      

  8.   


    那我怎么知道哪个账号对应着哪一个账号呢,我只是防止一个用户多个账号同时登录,而不是这个程序只能一个用户而且一个账号登录很晕,怎么会不知道呢?登录时不判断不记录帐号的么?难道就一个True/False?我的目的是想防止“一个用户多开”的情况,所以我要确定的是,这个用户只能同时使用一个账号,如果他注册了三个账号,用三个不同浏览器登陆,那么服务器针对每个账号来看确实没问题,但是这三个账号都是同一个用户同一时间登陆的,我现在要确定这个用户只能使用其中一个你这个目的几乎不可行,因为这个已经脱离了电脑技术范畴
    一个自然人/法人三个帐号,你要判断的是自然人(或法人)的身份,除非做实名制,顶多能做到就是防君子不防小人(同一IP判定)很简单,某家里玩一个游戏,两帐号同时登陆,根本无法判定是一个人瞎热闹还是两口子同好