iPhone / Android 不会关闭使用 DNS 实现的 wifi 登陆页面

iPhone / Android 不会关闭使用 DNS 实现的 wifi 登陆页面

我正在尝试在现有的公共 wifi 网络上实现启动页面/wifi 登陆页面,使用Wiki 中提到的 DNS 方法,我在其中托管一个自定义 DNS 服务器,它会将所有 DNS 查找重定向到托管 Web 服务器的本地地址,所有用户在单击同意之前都会这样做。

当用户点击同意后,我的自定义DNS服务器开始返回正确的IP进行查找,这样用户就可以上网了。

注意:我们完全理解这绝不是保护我们网络的安全,甚至会危及我们的网络。但这里的目标是只需弹出登陆页面在我们的用户面前。

这种方法实际上在 Windows Phone(我测试过的 Windows 8)上作为启动页面有效,甚至在电脑上,当我尝试打开一个随机网站时,它也会将我重定向到我的页面,在我点击同意后,我就可以上网了。

当我在 iPhone/Android 上尝试时,一旦我连接到热点,启动页面/wifi 登陆页面就会按预期出现(因为设备正在尝试通过访问一组页面来验证互联网访问)然而,在我点击同意并允许互联网访问后,iPhone 和 Android 的启动画面都不会消失。我必须强制 iPhone “在没有网络的情况下使用此 wifi” 才能退出。

我想知道是否有一个特殊的(javascript?)方法可以在页面中调用,或者我需要将某个包发送到设备?我注意到在 iOS 上,如果我单击 App Store 的链接,启动页面就会消失,而不会断开与网络的连接,所以,我想我在这里遗漏了一些东西。我已经在 Google 上搜索了一个星期,似乎什么也没找到。

顺便说一下,我正在使用模块 dnsd 在 node js 上构建我的自定义 dns 服务器。

相关内容