我正在考虑创建一个仅允许用户通过手机信号塔连接的应用程序。是否有仅供手机信号塔使用的 IP 范围?
我意识到它可能是一个“移动目标”,但有人知道当前阻止的列表吗(例如垃圾邮件发送者的黑名单)。
我不想依赖标头,因为它们可能会被欺骗。IP 地址似乎是通过 IP 在蜂窝网络上识别客户端的唯一真实方式。
答案1
哪个地址?分配给电话或 {3,4}G 调制解调器的地址可以是RFC 1918地址,未使用的公共地址,甚至代理到 v4 的 IPv6 地址。这些通常位于某种 NAT 或代理设备后面,因此如果您从服务器端检查地址,您可能能够使用简单的反向 DNS 查找或ISP 数据库。
让问题更加复杂的是,很多设备(例如我妻子的手机)可以充当接入点,包括另一个 NAT 层。当她通过 3G 将 iPad 绑定到手机时会发生什么?
答案2
不存在“手机信号塔 IP 范围”之类的东西,尤其是因为手机信号塔可能位于任何提供商、任何信号塔上,甚至在某些情况下位于 WiFi 上。关键是,您永远不需要依赖此信息。
如果您想向访问者显示网站的移动版本,请解析用户代理字符串以找出原因。如果用户伪造其信息并查看非移动友好版本,则该用户是超级用户,可以为所欲为。否则,没有理由根据他们的 IP 限制任何事情。
答案3
是的,但您必须识别您希望允许的每个蜂窝提供商的网络块。更好的方法是编写您的手机应用程序以检测数据连接,而无需关联 WiFi AP。