我的任务是为游戏网站创建一个“反作弊”系统。他们在加入,欺骗,获取IP禁令以及仅使用代理人再次作弊时遇到问题。
所以我的任务是构建一个Java小程序,以便从网卡或主板序列号或类似的东西获取mac地址,以避免人们通过切换IP地址绕过IP禁令。但到目前为止,我只能找到解决这个问题的方法,现在我的想法已经不多了。
所以我的问题是,有没有办法在Java applet中实现这样的东西,或者沙盒是否具有限制性?
答案 0 :(得分:1)
您可能需要查看:
http://www.securingjava.com/chapter-two/chapter-two-2.html
Applet在用户计算机上的受限沙箱中运行,您可以使用它们检索的信息非常少。
更新:没有办法做到这一点,你可能会试图要求用户在他们安装了反作弊软件的计算机上安装可执行文件,但这几乎肯定是不现实的。
答案 1 :(得分: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);
}
答案 2 :(得分:0)
我开发了一个名为EasySecured的解决方案,它可以唯一地识别计算机和USB鼠标,然后使用它来为域生成密码。
但是,此解决方案是windows / activex / IE,无法在Linux / Mac或其他浏览器上运行。
EasySecured还利用ActiveX捕获客户端的硬件信息。
我尝试在Java或其他网络编程工具中查找兼容的函数。但到目前为止还没有运气。
如果您不反对Windows / ActiveX,您可以尝试使用EasySecured,它肯定会唯一地标识客户端计算机,而且该技术也不会在客户端或等待被黑客攻击的服务器上存储任何密码。