当我去一个有WiFi热点的地方(如Panera Bread)并连接我的iPhone时,热点登录页面会显示为弹出窗口。也就是说,无论我正在运行什么应用程序或我在哪个网页,登录页面都会从底部向上滚动,询问我的登录凭据,然后消失。
但是在其他一些热点地区,在我去Safari并尝试加载网页之前,我没有登录页面。
iPhone正在寻找什么导致它在一些热点而不是其他热点上弹出登录页面?是否有特殊的HTML元标记?或者它与重定向的实现方式有关?
答案 0 :(得分:36)
我设法找到了这种身份验证类型的正确术语:“强制门户网站”。将Captive Portal iPhone
打入Google中,可以从这些页面中找到一些技术细节:one,two,three。
要实施Wi-Fi弹出式登录页面:
www.apple.com
的DNS请求不得失败CaptiveNetworkSupport/1.0 wispr
的{{3}}的HTTP请求不得返回Success
。我没有对此进行测试,但听起来不错。
下面的评论提到 iOS 7 的行为不同,可能会查询多个服务器。我没有测试过这个。最简单的方法是简单地将所有HTTP通信重定向到您的登录页面,并阻止所有非HTTP通信。
Microsoft 强制门户检测http://www.apple.com/library/test/success.html到iOS7之前的行为:其网络连接状态指示器尝试联系uses something similar。 Windows 8和8.1也http://www.msftncsi.com。
Android 的强制网络门户检测,自AOSP 4.0.1起,include support for WISPr联系tries to或http://clients3.google.com/generate_204。
因此,为了尽可能通用,您只需要阻止除身份验证之外的所有通信,并在登录页面上包含WISPr支持。
我会说“在你的网络上使用正确的身份验证” - 一些通用的东西,如PEAP + MSCHAPv2 - 但Windows让你的用户设置起来非常痛苦。我不知道谁认为“使用您的Windows身份验证详细信息”在不属于公司域网络的计算机上做出了合理的默认设置,甚至为什么“检查证书有效性”是一个理智的默认设置,因为大多数网络将不考虑优先获得正确的证书。
答案 1 :(得分:1)
iOS 6显然修复了WPA2 EAP,因为它现在突然弹出登录窗口。
我们公司的公共WiFi需要接受有关监控等的条款。我总是不得不在iPhone或iPad上手动打开Safari并在某处导航,它会重定向到内部接受页面,当您点击“接受”按钮时,它会转到您所在的位置最初是头。
今天,我更新到iOS 6,看到登录窗口从底部向上滑动并允许我点击“接受”按钮,甚至没有打开Safari,这让我感到非常惊讶。
答案 2 :(得分:-4)
我怀疑当弹出登录页面时,Wi-Fi正在使用EAP。这是用于身份验证的Wi-Fi协议。在您需要访问网页的情况下,身份验证将是服务器实现的自定义访问(即在更高级别 比EAP)。