编写自己的WifiDog认证服务器
使用的是php来编写auth_server服务器,因为这样比较简单。
1· 首先是login.php:
路由器协议:gw_address=%s&gw_port=%d&gw_id=%s&url=%s
gw_id 我这里使用的是路由器的MAC
<?php
include './tool/MySQLHelper.php';
if (!empty($_GET["gw_id"])){
$result = selectMacByToken($_GET["gw_id"]);
if (!empty($result)){
header("location: http://192.168.1.1:2060/wifidog/auth?token=".$result);
}
else {
header("location: http://xxxxx/WelcomePage.php?mac=".$_GET["gw_id"]);
}
}
else {
header("location: http://xxxxx/WelcomePage.php?mac=".$_GET["mac"]);
}
?>
2· 然后是 ping.php:
路由协议:http://auth_sever/ping/?gw_id=%s&sys_uptime=%lu&sys_memfree=%u&sys_load=%.2f&wifidog_uptime=%lu
这里没有做额外的处理,只是简单地向wifidog回应一个Pong
<?php
echo "Pong";
?>
3· 接着是 auth.php:
路由协议:http://auth_server/auth/?stage=%s&ip=%s&mac=%s&token=%s&incoming=%s&outgoing=%s
这里根据一些参数来获取$result,从而决定是否允许认证
<?php
if ($_GET["token"] == "123"){
echo "Auth: 1";
return;
}
if (!empty($_GET["token"]) && isset($_GET["token"])){
isValidate($result);
return;
}
else if((!empty ($_GET["mac"])) && isset($_GET["mac"])){
$result = isSubscribeByMac($_GET["mac"]);
isValidate($result);
return;
}
else
{
echo "Auth: 0";
}
function isValidate($result){
if ($result == 1){
echo "Auth: 1";
}
else {
echo "Auth: 0";
}
}
?>
本文章由 http://www.wifidog.pro/2014/12/11/WifiDog%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8.html 整理编辑,转载请注明出处