Определите идентификатор компьютера в игре Flash / AIR - PullRequest
2 голосов
/ 07 сентября 2011

Я создаю многопользовательскую онлайн-игру, в которой я хочу запретить игрокам присоединяться к игре, используя несколько клиентов / учетных записей на одном компьютере. Я не могу просто выполнить проверку IP-адреса на стороне сервера, потому что я все еще хочу, например, люди в одном офисе, чтобы иметь возможность играть вместе.

Поэтому я хотел бы сгенерировать какой-нибудь идентификатор компьютера / хэш на клиенте, который он отправляет на сервер. Я знаю, что это легко взломать, но это остановит по крайней мере тех «читеров», которые не могут или не будут менять свое клиентское программное обеспечение.

Есть ли способ создать такой идентификатор / хэш в моем игровом клиенте? Это сделано во Flash и AIR (есть две версии, браузер и рабочий стол). Значение не обязательно должно быть глобально уникальным, потому что я проверю IP-address + ID

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

Вы можете использовать MAC-адрес сетевой карты.AIR имеет доступ к списку всех доступных сетевых интерфейсов: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetworkInfo.html

NetworkInfo.networkInfo.findInterfaces()

Вы можете использовать любое значение, возвращаемое в этом векторе, поскольку MAC-адреса уникальны.

1 голос
/ 07 сентября 2011

Наряду с MAC-адресом ваша программа может генерировать одно или несколько случайных чисел и сохранять их в зашифрованном локальном хранилище (если оно еще не сохранено). Это может также идентифицировать пользователей (с некоторой вероятностью коллизий, но этот шанс может быть очень низкий.)

...