2011-09-07 100 views
2

我創建一個在線多人遊戲中,我想防止玩家使用多個客戶端一臺計算機上/賬戶加入遊戲的計算機ID。我不能簡單地對IP地址進行服務器端檢查,因爲我仍然希望同一個辦公室裏的人們可以一起玩。確定在Flash/AIR遊戲

因此我想生成其沿着向服務器發送客戶端上的一些類型的計算機ID /散列的。我知道這是很容易被破解,但它至少停止那些「騙子」誰不能或不會改變他們的客戶端軟件。

有沒有一種方法來生成在我的遊戲客戶端這樣的ID /哈希?它由Flash和AIR製作(有兩個版本,瀏覽器和桌面)。 該值不需要全局唯一,因爲我將檢查IP-address + ID

回答

2

您可以使用網卡的MAC地址。 AIR訪問獲得所有可用的網絡接口的列表:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetworkInfo.html

NetworkInfo.networkInfo.findInterfaces() 

你應該能夠使用該矢量返回的任何價值,因爲MAC地址是唯一的。

+0

雖然MAC地址可能是僞造的。 – Kapep

+0

真!但是,客戶端上的任何內容都可能被僞造或解決,從安全的角度來看,沒有什麼是完全可信的。 – meddlingwithfire

1

隨着MAC地址,您的程序可能會生成一個或多個隨機數並將它們存儲在加密本地存儲器中(如果尚未存儲)。這也可以識別用戶(有一些碰撞的機會,但這個機會可以非常低)。