找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7551|回复: 2

[Hotspot] hotspot模板制作教程【2】

[复制链接]
发表于 2014-8-10 16:52:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
第二弹。。。继续

<!--
【e5Blbko】节点login.html文件
请直接替换ros hotspot默认的login.html
有问题请联系QQ:576673403
//-->
<!DOCTYPE>
<html>
<head>
<title>login</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="-1" />
</head>


<body>
<!-- $(if chap-id) //-->
<!--
chap是默认开启的。如果同时开启chap和pap,chap是默认优先的。
//-->
        <script type="text/javascript" src="/md5.js"></script>
        <!-- 首先加载md5.js //-->
        <script type="text/javascript">
        var $_GET = (function(){
                var url = window.document.location.href.toString();
                var u = url.split("?");
                if(typeof(u[1]) == "string"){
                        u = u[1].split("&");
                        var get = {};
                        for(var i in u){
                                var j = u.split("=");
                                get[j[0]] = j[1];
                        }
                        return get;
                } else {
                        return {};
                }
        })();
        //以上代码,把URL的参数分割,写成$_GET['xxx']这种类型,php情节。。。伤不起啊。
        window.onload =function(){
                if($_GET["chaplogin"]=="true"){
                //这里判断是否是返回的,如果是从认证平台返回则,提交参数给ROS。注意看密码区域
                        location.href="$(link-login-only)?username=" + $_GET["username"] + "&password="+ hexMD5("$(chap-id)" + $_GET["password"] + "$(chap-challenge)") +"&dst=" + $_GET["dst"];
                }else{
                //非平台返回,则跳转到平台去。带各种参数出去。
                        location.href="http://ooo2b.com/open.php?node=e5Blbko&chap=true&login=$(link-login-only)&dst=$(link-orig)&mac=$(mac)";
                };
        }
        </script>
<!-- $(else) //-->
<!--
如果chap没有勾选,则pap认证开始
//-->
        <script type="text/javascript">
        var $_GET = (function(){
                var url = window.document.location.href.toString();
                var u = url.split("?");
                if(typeof(u[1]) == "string"){
                        u = u[1].split("&");
                        var get = {};
                        for(var i in u){
                                var j = u.split("=");
                                get[j[0]] = j[1];
                        }
                        return get;
                } else {
                        return {};
                }
        })();
        //同上
        window.onload =function(){
                if($_GET["chaplogin"]=="false"){
                //同上
                        location.href="$(link-login-only)?username=" + $_GET["username"] + "&password="+  $_GET["password"] +"&dst=" + $_GET["dst"];
                }else{
                //同上
                        location.href="http://ooo2b.com/open.php?node=e5Blbko&chap=false&login=$(link-login-only)&dst=$(link-orig)&mac=$(mac)";
                };
        }
        </script>
<!-- $(endif) //-->
<!--
pap结束get参数chaplogin,最为重要,这是从平台返回
//-->
</body>
</html>

具体讲解部分内容:
$_GET["chaplogin"]=="false" 或者 ”true“ 这里是判断是否是平台返回和认证验证方式。true真则chap,false则假,pap验证。


hexMD5("$(chap-id)" + $_GET["password"] + "$(chap-challenge)"),这里是密码区域,一看就知道了。。。


跳转到平台的参数解析,node=e5Blbko&chap=false&login=$(link-login-only)&dst=$(link-orig)&mac=$(mac),其中chap也是真假传递。。。其他参数看平台需要传递


以上栗子是roswifi.com ROS第三方认证平台的login实例代码,已经应用在实际生产环境!
通过此login.html平台可以根据传递出来的参数对应返回。做到chap和pap分开。随便用户配置那种方式。

当然,通过这个栗子可以做很多事。。。自己发挥。


AD:定制模板欢迎PM!
第三方认证交流群:http://jq.qq.com/?_wv=1027&k=SZw5Ot
routeros
发表于 2014-8-12 13:43:32 | 显示全部楼层
啦啦啦啦啦,赞赞赞…………
routeros
回复

使用道具 举报

发表于 2015-7-7 00:41:14 | 显示全部楼层
谢谢,非常好,学习了。
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-23 00:15 , Processed in 0.063144 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表