ios - 允许基于ip访问应用,或者代理网络覆盖

标签 ios authentication proxy

我有一个阅读器应用程序,我们正在为某个机构定制阅读器,以允许用户使用该应用程序并阅读其内容。我必须验证他是否在某个代理覆盖范围内,以及他是否登录到该代理。

我个人在网络和代理方面的经验很少,因此我想问一下,这是否可行,如果可行,最好的方法是什么?

如果这是可行的,Apple 会接受它吗?Apple 团队如何测试该功能?

我已经了解了这个解决方案,但我不确定这是否是我所需要的: How can I get the username for a proxy host from KeyChain?

最佳答案

我会去使用设备的公共(public) WAN IP 地址来检查代理使用情况。

了解代理的 IP,我会将它们放入白名单中,最好存储在外部服务器上,该服务器将由应用程序查询,而不是将其硬编码到应用程序中,以防代理服务器更改其 IP。

在每次应用程序启动时,我都会获取设备的公共(public) IP,如果用户使用代理,这将是代理 IP 之一。因此,您可以简单地比较这些 IP,如果它们匹配,您就知道用户正在使用代理。

如果您不知道代理的具体 IP,有很多可用的服务可以确定 IP 是否属于代理以及代理的类型。 IP2location是提供此类内容的众多网站之一。

关于ios - 允许基于ip访问应用,或者代理网络覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51572920/

相关文章:

ios - Xcode 无法识别 iPod 设备

ios - alpha 属性重置为 1.0 后,UIView 不会出现

php - 试图让 php 理解以管理员身份登录

spring - 在微服务架构中组织用户和身份验证

.net - 我应该如何设置默认代理以使用默认凭据?

HTTP 代理 SSL 隧道中继详细信息

ios - ios应用程序中的事件监听器

python mechanize 处理两个具有相同名称的参数

windows - OpenVPN:路由除本地网络之外的所有网络

iOS 音频单元播放时有持续的噪音