gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:27:32 24 4
gpt4 key购买 nike

我正在尝试使用 the DNS method mentioned in Wiki 在我现有的公共(public) wifi 网络上实现启动页面/wifi 登录页面,我在其中托管了一个自定义 DNS 服务器,它将所有 dns 查找重定向到托管 Web 服务器的本地地址,所有用户在点击同意之前。

用户点击同意后,我的自定义 DNS 服务器开始返回正确的 ip 供查找,因此,用户将能够上网。

注意:我们完全理解这绝不会保护我们的网络,甚至会使我们的网络处于危险之中。但这里的目标是只是在我们的用户面前弹出着陆页

这种方法实际上适用于 Windows Phone(我测试过的 Windows 8)作为启动页面,甚至在计算机上,当我尝试打开一个随机网站时,它会将我重定向到我的页面,并且在我点击同意后,我可以得到上网。

当我在 iPhone/Android 上尝试时,一旦我连接到热点,启动页面/wifi 登录页面会按预期显示(因为设备正在尝试通过转到一组页面来验证互联网访问)但是,在我点击同意并允许上网后,iPhone 和 Android 的闪屏都不会消失。我必须强制iphone“使用这个没有网络的wifi”退出。

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

例如,点击 the link to the iOS StackOverflow App在 iOS 设备上可能是一种解决方法。

已经在谷歌上搜索了一周,似乎没有任何结果。

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

=-=-=

=-=-=-=-=编辑=-=-=-=-=-=

我还在 GitHub 上上传了我的代码演示: https://github.com/kylelam/dnsd_wifi

要对其进行测试,请在本地网络中运行它 (sudo node demo.js)。然后,将手机的 dns 更改为机器的 IP。断开手机与 wifi 的连接,然后重新连接。 (在 iOS 上,您可能需要详细说明,并启用自动登录和自动加入,或者如果您不能,只需重新启动。)

*note1:服务器需要在 53 和 80 端口上运行,所以需要 sudo。

*note2:请不要 mock 我的代码,我对此很陌生。但请务必指出。

*note3:你需要 npm 安装这些包:os、express、dns、dnsd

最佳答案

ttl 设置为 0 可能是问题的原因,请尝试其他值,例如 5。

关于ios - iPhone/Android 不会关闭使用 DNS 实现的 wifi 登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42434824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com