搭建自己的wifidog认证服务器
本人刚刚开始研究这个,看到有很多人在求自建认证服务器,心得如下,实现 wifidog 4 个接口: portal,login,auth,ping (还有一个get_gw_message.php 的接口,可不用实现)
简单来说,就是路由器会以GET方式请求 你的服务器(加入了白名单) 以下四个地址:
http://认证服务器/路径/login
http://认证服务器/路径/auth
http://认证服务器/路径/ping
http://认证服务器/路径/portal
以下以php为例子,实现
( 我是写了一个rewrite , 把所有请求转发到了 index.php?q=,当然,你也可以每个请求建立一个文件夹下一个 index.php)
具体代码如下:
$q = $_GET['q'] ;
$q = explode('/',$q) ;
$q = $q[0] ;
$a = '' ;
if(!empty($q[1])) $a = $q[1] ;
if($q == 'portal'){
print 'portal' ;
}
if($q == 'login'){
print 'login' ;
$gw_port = $_GET['gw_port'] ;
$gw_address = $_GET['gw_address'] ;
//token 自己生成一个
print '<br /><a href="http://'.$gw_address.':'.$gw_port.'/wifidog/auth?token=789">login</a>' ;
}
if($q == 'auth'){
$token = $_GET['token'] ;
if($token == '789') print "Auth: 1";
else print "Auth: 0";
}
if($q == 'ping') print 'Pong' ;
如果你想看一下,路由器到底请求了你些什么,可以看日志或者自己加个写入
$time = date('YmdHis') ;
file_put_contents(dirname(__FILE__) . '/get_'.$q.'_'.$time.'.txt',var_export($_GET,true)) ;
本文章由 http://www.wifidog.pro/2015/02/10/wifidog%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8-1.html 整理编辑,转载请注明出处