最近一个月左右都在研究wifi第三方认证的问题,由于以前没有接触过这个领域,包括对路由器我也算是一个菜鸟开始吧。当然现在也还是菜鸟哈,但是由于这段时间的基础对wifi的第三方认证有了一定的了解,这里就不做详细的解说了!基本思路就是wifidog+第三方的认证系统了!



昨天发现了一个ios下面的wifi认证系统的问题,ios在对目标wifi进行连接以后,会对apple自己的网站进行连接,以确认这个wifi是否需要认证,如果需要认证,ios会自动引导用户到认证页面进行相关的认证。其实这确实一个很赞的用户体验,但是对于目前我做的项目却让有些苦恼了,有些认证需要查看短信或者登录微信等相关切换进程操作的。但是如果这是你切换的话,ios就会断开对当前未完成认证的wifi的连接,这样子用户就无法利用我们提供的wifi上网完成相关的操作了,怎么破?

博主进行了一番中文google,发现有人也和我遇到了累死的问题,但是他是在求问,最后也没有合适的回答,今天博主在做用户连接记录方面工作时,发现一个奇怪的现象,用浏览器访问认证首页时,数据表中只有一条记录,但是在ios的wifi连接时一下子就产生了3条连接记录,这就让博主好奇起来了,ios到底做了什么工作,产生了这么多连接记录哪?

于是博主就对所有连接记录的REQUEST_URI进行记录查看IOS在wifi连接到底做了写什么?(如果您对网络抓包熟悉的话,也可以利用抓包工具来实现这些操作)通过记录这些REQUEST_URI我发现IOS在进行wifi连接时有这种现象。

IOS会对3个连接进行请求(我发现就3个),下面我给出他们的地址:

http: //www.ibook.info/pxREkH4RniUBKv/WgqXZQp3VxCarS/caKULpUuENJXUl/uCjrFAPYBU0bio.html

http: //captive.apple.com/yIAR4Fa93gekmuj/4apKru10oKZFmds/BiwTncIKb5a8Rml/OQ5RPc7PtZ0Hktl.html

http: //www.itools.info/qKYPnUF1CKv/nI4UdzW5106/oapMW6lSXxP.html ————————————————


IOS会先对其中一个连接进行请求如果得到得到不是他想要的内容,就会把用户引导认证页面去,同一个链接会进行3次尝试,所以会看到我前面提到的可以看到有3条连接记录的现象!如果第一条链接请求成功,就会对下面的2条链接做同第一条链接同样操作。

我在发现了这个现象以后高兴了起来,感觉这个问题可以解决了,我只需要在wifidog的防火墙处做相关设置,开放这3个域名的白名单就不是解决问题了吗?


想到就去做,于是我通过ping获得3个连接的ip地址,将他们加入wifidog的防火墙,让后再进行测试,就不会出现自动引导到认证页面的问题了,不过唯一的缺陷就是这3个域名用户可以随意访问了!