Чи є спосіб перевірити дані про місцезнаходження GPS, отримані від клієнта?


9

Відповідь на це питання може бути "НІ", але це дуже важливо, тому я думаю, що я також міг би задати.

Це має бути проблемою для всіх ігор, орієнтованих на розташування клієнта-сервера, де розташування гравців у світі є центральним у геймплеї. Чи є якийсь спосіб переконатися, що дані про місцезнаходження, які надходять від клієнта, справжні (тобто гравець насправді є)?

Працюючи над іграми клієнт-сервер, ми всі знаємо, що ніколи не слід довіряти будь-якій інформації, що надходить від клієнта, і тому вся важлива логіка ігор повинна здійснюватися на стороні сервера. Однак, маючи інформацію про місцеположення, ми МОЖЕМО отримати це від клієнта. Чи є спосіб двічі перевірити це, щоб запобігти обману?

Відповіді:


10

Ви можете скористатися послугою геолокації IP, щоб отримати приблизне місце розташування від місця підключення користувача. Порівняйте це з отриманими даними GPS, і ви можете вилучити деякі екстремальні випадки (гравці, які підключаються через проксі тощо). Ви навіть можете обчислити відстані між входами користувачів, і якщо вони занадто великі (скажімо, місце розташування перемістилося на 1000 км між двома спробами входу за 5 або 10 хвилин), сповістіть про це користувача.

Однак це не є дурним захистом, і ви завдасте не один незручність законним гравцям.


Дякую, я думаю, я вивчу перевірку IP, а також дельту розташування між входами / реєстраціями на сервері. Це, безумовно, викличе проблеми у законних гравців, якщо ми будемо розраховувати на автоматичне виявлення та заборону ... Я думаю, що я просто позначу це для огляду адміністратора і дам деякі щедрі обмеження; ми, мабуть, будемо розбиратися з кожним прапором у кожному конкретному випадку (сподіваючись, що цифри є достатньо низькими, щоб це було практично).
Jamornh

GeoLocation досить точний; у вас не повинно виникнути жодних проблем ... залежно від деталізації.
Vaughan Hilts

10

З боку клієнта немає нічого, до чого не можна підробити, все, до кого хто має фізичний доступ, може маніпулювати.

IP містить інформацію про маршрутизацію і, таким чином, натякає на місцезнаходження. Але гравцеві просто потрібен проксі-сервер і підказує ... IP натякає на зовсім інше місце, ніж гравець насправді.

Довіряйте своїм гравцям, не давайте їм причин намагатися в першу чергу виманити систему.


Я погоджуюся з довірою гравцю і не даю їм підстав підманювати систему. Потрібно зручніше слідкувати за системою, щоб чогось досягти, ніж витратити час, щоб підманути її, щоб зробити те саме. Але деякі гравці завжди знайдуть причину робити те, чого вони не збираються робити, ну добре, я сподіваюсь, що кількість буде надзвичайно низькою, якщо система розроблена добре.
Jamornh

3

Ви не можете по-справжньому перевірити цю інформацію, ніж ви справді можете перевірити будь-яку інформацію, створену зовнішнім джерелом. Тож те, що ви хочете, теоретично неможливо. Але ви, напевно, можете зробити це трохи складніше підробляти.

Наприклад, на телефонах Android у вас є різні провайдери локації , наприклад, розміщення користувача за щоденними щоглами мобільних телефонів, система позиціонування Wi-Fi тощо. Ви можете зажадати, щоб принаймні два постачальники локацій повертали подібні значення, щоб довіряти більш точним. з двох.

Я б не рекомендував використовувати геолокацію IP; тут, у Великобританії, це безнадійно неточно, оскільки більшість із нас використовують національні провайдери. У добрий день оголошення, орієнтовані на географічну орієнтацію, стосуються місць, розташованих приблизно в 20 милях, а в поганий день вони думають, що я за 100 миль. Але ви, ймовірно, можете використовувати його, щоб перевірити, чи користувач знаходиться у потрібній країні!


Дякую за цю відповідь. Коли ви посилаєтесь на "провайдерів локації", я припускаю, що ви говорите про API розташування Android та обладнання, яке використовується для обчислення місця розташування. Людині, яка намагається підробити місцеположення, буде трохи складніше (маючи вказати 2-3 значення замість 1), але оскільки вони все одно надають підроблені значення, це не повинно створювати багато додаткових робіт для їх обходу (надайте додаткові підроблені значення.) Повністю згоден з вашою точкою щодо геолокації IP, недостатньо деталізований, але гарний для грубої перевірки :) Дякую за допомогу!
Jamornh

Так, немає абсолютно ніякого способу зупинити повідомлення клієнтів про підроблені значення - все, що ви можете зробити, - це сподіватися, що це ускладнить.
Kylotan

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.