iOS热点网络助理行为

我们有一个使用SMS认证方法的热点产品。 用户选择我们的WiFi热点网络并重定向到我们的登录页面。

在iOS和Adroid上,激活了Captive Portal弹出窗口,显示我们的登录页面。 我们要求用户填写表格并提交他们的电话号码。 当他们点击“提交”时,我们会向他们发送带有验证码的短信。

登录窗口(托管在我们的服务器上)更改为显示输入验证码的字段的新页面。 到目前为止这么好......如果用户在他的屏幕上看到SMS的“通知弹出窗口”,他可以看到代码并将其输入到提供的字段中并进行身份验证。

但是如果他没有像这样的短信通知,他必须去他的短信应用程序,并查找代码。 现在,唯一的办法就是关闭Captive弹出窗口,但是他会从我们的热点断开连接。 如果他重新连接,他需要再次填写表格并获得新的短信,但他面临同样的问题。

现在,所有这段时间用户都没有通过身份验证,因此在iOS中,捕获窗口在右上角显示“取消”。 我在其他热点上看到过这种方法,但从第一个Captive窗口,右上角显示的控件是“完成”。 据我所知,不同之处在于,当用户被认证时显示“完成”控件,而当他还没有被认证时显示“取消”。

有没有办法“愚弄”CNA“认为”用户可以访问互联网并显示“完成”,因此当Captive窗口关闭时,设备会保持连接到我们的Hotspot?

我们正在考虑进行一些“两步式”认证,比如临时(获得“完成”),然后输入验证码后的“真实”认证。

另一种方式可能是使用某种脚本(例如iOS上的“成功”技巧)来欺骗CNA,使其认为可以访问互联网。 但是在哪里以及如何应用“成功诀窍”? 在路由器的一些HTML页面中? 或者在我们的登录页面代码中的某处?


不同的OS版本和不同的平台以不同的方式检查互联网访问。 iOS例如寻找其中的一个:

http://captive.apple.com/hotspot-detect.html

http://captive.apple.com

等等

Android使用(除其他外):

http://clients3.google.com/generate_204

最好的解决方案是让您的强制门户允许通过防火墙访问这些门户。 如果你通过ipfw或iptables使用MAC过滤,这很容易。 如果您正在进行DNS欺骗,那就更难了 - 对于这些情况,我只会将“成功”页面包含在您的强制门户套件中。

链接地址: http://www.djcxy.com/p/72115.html

上一篇: iOS Captive Network Assistant behavior on Hotspots

下一篇: Raspberry connecting to WIFI with captive portal