服务器和移动应用程序可以使用什么算法或启发式集合,以便服务器始终可以相当确定该应用程序是在给定地理区域(例如国家/地区)的边界内使用的?服务器如何保证定义区域之外的应用用户不能谎称自己在该区域内?
最佳答案
您无法 100% 确定用户没有报告虚假位置,您只能使伪造位置的过程变得尽可能困难。您应该根据您有权访问的数据实现多项检查:
1)用户的IP地址(用户可以使用代理)
2) 设备的 GPS 坐标(可以被欺骗)
3) 设备的区域设置(不是可靠的指标)
最安全的检查之一(但也不是 100%)是向用户发送一条包含确认码的短信,用户必须在应用程序中输入该确认码。
据我所知,最复杂的算法之一是 Google Play(因此某些应用程序只能在某些国家/地区使用)。它会检查 IP 地址、用户的移动运营商等参数,但也有一些工具(例如 Market Enabler
)和技术可以欺骗系统。
关于security - 通过移动应用程序安全验证位置声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28131903/