Определите идентификатор компьютера в игре Flash/AIR

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

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

Есть ли способ создать такой идентификатор / хэш в моем игровом клиенте? Это сделано во 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-адреса уникальны.

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

Другие вопросы по тегам