检测iphone / ipad是否通过公共wifi以编程方式连接到VPN

时间:2011-04-04 15:57:38

标签: iphone ipad wifi vpn

我们有一个应用程序,其中某些功能只有在用户连接到与其帐户关联的路由器时才需要工作(我们有一些关于用户帐户和家庭路由器的信息)。 但是,用户可以通过任何公共wifi / 3G网络建立到其家庭路由器的VPN连接。如果是这种情况,我们希望阻止某些功能。

有关如何使用任何现有的iphone / ipad apis检测它的想法吗?

谢谢, Hetal

2 个答案:

答案 0 :(得分:6)

可达性API中有一个名为kSCNetworkReachabilityFlagsTransientConnection的标志。 通过VPN连接时确实如此,如果未通过VPN连接则为false。 我们使用此标志值来检查我们的条件。

答案 1 :(得分:1)

没有iOS API(至少是公共的)能够为您提供有关您是在家庭路由器还是公共WiFi连接上运行的信息。您只能确定您使用WiFi连接而不是3G。 (例如,请参阅Reachability sample

您可以根据设备的当前IP地址进行某种查找。您必须让每个用户注册其路由器的IP地址,并让您的应用程序在运行之前对其进行验证等。但是,仍然无法保证用户的家用路由器是安全的。换句话说,它可以像公共WiFi一样开放。