编写自己的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 整理编辑,转载请注明出处

标签: wifidog认证 wifidog安装 wifidog原理 wifidog分析 wifidog配置 wifidog流程 wifidog服务器 wifidog-ddwrt wifidog openwrt