#python #mobile #proxy #geolocation #gps
#python #Мобильный #прокси #геолокация #gps
Вопрос:
Я создаю мобильное приложение, которое требует знания местоположения пользователя при отправке данных или публикации. У нас есть опасения, если пользователи начнут использовать прокси-серверы. Существуют ли какие-либо решения / библиотеки python, которые можно включить в мобильное приложение для обнаружения пользователей, подделывающих свое местоположение?
Ответ №1:
Пользователи могут подделать свое местоположение, используя VPN. Прокси-серверы на самом деле используются по-другому.
Используйте API, который делает это. Вам нужен API в реальном времени, который вы можете вызывать через request
него. Я использую абстрактный API, потому что он надежный и бесплатный: https://www.abstractapi.com/ip-geolocation-api однако вам нужно создать учетную запись, но это безболезненно.
import requests
response = requests.get("https://ipgeolocation.abstractapi.com/v1/?api_key=YOUR_KEYamp;ip_address=THE_IP")
print(response.content)
В ответе JSON у вас есть логическое ['security']['is_vpn']
значение, чтобы узнать, принадлежит ли IP-адрес VPN.
Альтернативное решение — самостоятельно создать скрипт, который будет сравнивать IP-адрес вашего пользователя со списком IP-адресов известных VPN. Но может быть нелегко найти и собрать все IP-адреса VPN и регулярно обновлять их.
РЕДАКТИРОВАТЬ в ответ на ваш комментарий:
Мой ответ по-прежнему будет работать с приложением, подменяющим местоположения GPS, подобные тому, на который вы ссылались, потому что это не повлияет на API реального времени.
Если вы планируете использовать данные GPS с телефона и ищете только способ определить, настоящие они или поддельные, вы можете сравнить эти координаты GPS с координатами, указанными в ответе API. Если разница слишком велика, вы можете заключить, что данные GPS подделаны.
Комментарии:
1. В принципе, как защитить мое приложение от пользователя, использующего такое приложение play.google.com/store/apps /…
2. @SJamro мой ответ будет работать. Пожалуйста, посмотрите мое редактирование, я добавил больше информации.
Ответ №2:
Вы можете загрузить и разместить список VPN или прокси на своем собственном сервере и запросить его с помощью IP-адреса приложения, чтобы определить, находится ли один IP-адрес за VPN или прокси.
Доступны общедоступные веб-сервисы, но я не рекомендую это делать, поскольку сторонний сайт API может блокировать ваш вызов API, если трафик огромен.
Комментарии:
1. сторонний, например ipdata.co и iptegistry.co