曾经撸了两台K2路由器,刷成了华硕固件。以前就比较好奇什么肯德基,星巴克那种连上wifi就弹出一个页面进行验证什么的,是怎么弄的,昨天发现这个华硕固件里有这个功能,就是wifidog。
首先来看截图:
这里打开wifidog,配置认证服务器地址和端口,这时候,每次连接开启wifidog的路由器时,就会自动跳转到该地址,具体url:
http://www.quanjie.shop/login/?gw_address=%s&gw_port=%d&gw_id=%s&url=%s 此时进入认证界面,就是类似注册登录的。我这个属于广告wifi,所以只是展示广告,没开发登录。
正常情况下,填写好认证信息,点击登录,服务端校验登录信息,然后返回状态给客户端,客户端收到认证通过后生成的token,然后把这个token发给路由器,此时的链接:
http://192.168.1.1:2060/wifidog/auth?token=4f473ae3ddc5c1c2165f7a0973c57a98
因为此时客户端与路由器在同一个内网中,所以访问的地址就是192.168.1.1,端口2060,该端口可在wifidog上设置。
(注意:如果是https的服务器,此时涉及到一个问题,就是在https的页面无法向http提交,所以服务器要设置成http的服务器。)
在页面上用JQ发get就可以。
路由器接收到token后,它会向服务器发送信息来校验是否认证成功,此时路由器发送的链接是:
http://www.quanjie.shop/auth?token=4f473ae3ddc5c1c2165f7a0973c57a98
服务器接收后,拿token来校验登录状态,校验成功后,服务器要返回给路由器的内容是:“Auth: 1”,校验失败,则是:“Auth: 0”。
登录之后,路由器会每隔60秒访问一次服务器,判断状态。这个就是设置中的心跳间隔时间。