2009-08-30 88 views
1

我有一项任务是为游戏网站创建一个“反作弊”系统。他们在加入,欺骗,获得ip禁止并仅使用代理人再次作弊方面存在问题。独特的计算机识别@ Java Applet

所以我的任务是构建一个Java小程序从网卡或主板序列号或类似的东西获取MAC地址,以避免人们通过切换IP地址绕过IP禁止。但是,我只有到目前为止在这方面找到了解决方法,现在我已经没有想法了。

所以我的问题是有没有办法在Java applet中实现类似这样的事情,还是限制沙箱?

+1

你为什么不防止作弊? MAC地址不是唯一的,可以轻易改变。难以解决潜在的问题吗? – 2009-08-30 23:27:21

+0

我知道这不是独一无二的,但认为对于那些正在作弊的14岁男孩来说已经够难了:)而且,该网站正在主持战场,CS,地震......所以我们没有任何控制权:/我们'只是一个主人。 – 2009-08-31 08:01:14

回答

1

你可能想看看:

http://www.securingjava.com/chapter-two/chapter-two-2.html

小程序在用户的计算机上受限制的沙箱中运行,有很少的信息,你可以与他们找回。

更新:没有办法做到这一点,您可能会试图要求用户在安装了您的反作弊软件的计算机上安装可执行文件,但这几乎肯定不现实。

+0

错误,找到可能的方法来检索MAC地址。 – 2009-08-31 08:03:59

1

实测值溶液,检索MAC地址将是足够的:
http://rizwanshah.blogspot.com/2009/04/restrict-web-page-access-based-on-mac.html

NetworkInterface ni = (NetworkInterface) e.nextElement(); 
byte[] mac   = ni.getHardwareAddress(); 

if(mac != null && !ni.isLoopback() && !ni.isVirtual()) { 

     String[] tmp = {ni.getName(), 
         String.format("%02X:%02X:%02X:%02X:%02X:%02X\n", 
             mac[0],mac[1],mac[2],mac[3],mac[4],mac[5])}; 

     NWInterfaces.add(tmp); 
} 
0

我已经开发出一种称为EasySecured溶液,其唯一地标识一个计算机,并且还USB鼠标,然后使用此来生成密码对该域名。

但是,这个解决方案是windows/activex/IE,不能在Linux/Mac或其他浏览器上运行。

EasySecured还利用ActiveX来捕获客户端的硬件信息。

我试过在Java或其他网络编程工具中找到兼容的函数。但到目前为止没有运气。

如果您不反对Windows/ActiveX,您可以尝试EasySecured,它肯定会唯一标识客户端计算机,并且该技术也不会在客户端或服务器上存储任何等待被黑客入侵的密码。