2009-08-30 89 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,它肯定會唯一標識客戶端計算機,並且該技術也不會在客戶端或服務器上存儲任何等待被黑客入侵的密碼。