日期:2014-05-17  浏览次数:20545 次

一个判断PHP程序是否被同时在不同浏览器上执行的问题
问题是这样的,我有一个程序(假设单个页面),这个程序被运行的时候,我不想让多个浏览器能同时运行,因为SESSION,COOKIE这样的会因为浏览器内核不同而导致验证不一样,就会出现可能同一时间,开3个不同内核的浏览器就能同时模拟3个用户运行该程序。

如何验证才能保证在同一时间,一台电脑一个用户只能运行一个该程序,而不会受到浏览器的影响。

就比如网页游戏的登录,同一浏览器不能同时登录多个账号,但是开3个不同浏览器就能同时登录3个账号。

如何验证才能防止这种“多开”的情况?

------解决方案--------------------
mac+ ip 验证怎么样?
------解决方案--------------------
引用:
Quote: 引用:

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


妞妞,那有没有什么办法能确定到唯一用户呢


除非你抛弃所有的浏览器做为客户端,自己开发一个专门的客户端用来访问,否则是没有办法的。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

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


那我怎么知道哪个账号对应着哪一个账号呢,我只是防止一个用户多个账号同时登录,而不是这个程序只能一个用户而且一个账号登录


很晕,怎么会不知道呢?登录时不判断不记录帐号的么?难道就一个True/False?


我的目的是想防止“一个用户多开”的情况,所以我要确定的是,这个用户只能同时使用一个账号,如果他注册了三个账号,用三个不同浏览器登陆,那么服务器针对每个账号来看确实没问题,但是这三个账号都是同一个用户同一时间登陆的,我现在要确定这个用户只能使用其中一个


你这个目的几乎不可行,因为这个已经脱离了电脑技术范畴
一个自然人/法人三个帐号,你要判断的是自然人(或法人)的身份,除非做实名制,顶多能做到就是防君子不防小人(同一IP判定)

很简单,某家里玩一个游戏,两帐号同时登陆,根本无法判定是一个人瞎热闹还是两口子同好