ubnt解决方案
查看: 12422|回复: 45

[无线运营] 分享自己做的wiwiz自定义认证页面代码,支持Cookie和自动登录

[复制链接]

774

回帖

6099

积分

1305 小时

在线时间

中校

技术达人

注册时间
2011-4-12
金币
4969 个
威望
21 个
荣誉
3 个
累计签到:32 天
连续签到:0 天
[LV.50]初入江湖
发表于 2012-9-20 16:21 |显示全部楼层
本帖最后由 tiida2011 于 2012-9-20 16:24 编辑

一直觉得Wiwiz自带的认证页面不太方便,尤其是不支持Cookie,这样每次认证时都需要手动输入认证信息,会比较麻烦。
我利用自定义认证页面的定制代码,加入了记录和处理Cookie的功能,用Javascript实现的。
这里分享给大家,谁需要请拿去用吧。

认证页面效果图:



认证页面HTML代码:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <meta http-equiv="Pragma" content="no-cache">
  5. <meta http-equiv="Cache-Control" content="no-cache">
  6. <meta name="viewport" content="user-scalable=no, width=device-width" />  

  7. <!-- 必须引入AuthPageScript.js -->
  8. <script src="/as/AuthPageScript.js"></script>
  9. <script>


  10. /* 读写Cookie的函数 */
  11. function SetCookie(name,value) {
  12.         var Days = 180;
  13.         var exp  = new Date();
  14.         exp.setTime(exp.getTime() + Days*24*60*60*1000);
  15.         document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
  16. }

  17. function getCookie(name) {
  18.         var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  19.         if(arr != null)
  20.                 return unescape(arr[2]);
  21.         return "";
  22. }

  23. /* 用于在认证时记录Cookie */
  24. function recordCookie() {
  25.         if(document.getElementById("remember").checked == false)
  26.                 return;
  27.         else {
  28.                 var u = document.getElementById("username").value;
  29.                 var p = document.getElementById("pswd").value;
  30.                
  31.                 SetCookie("wifi-user", u);
  32.                 SetCookie("wifi-pswd", p);
  33.         }
  34. }

  35. /* 页面初始化是读入Cookie并自动按下认证按钮 */
  36. function doInit() {
  37.         var u = getCookie("wifi-user");
  38.         var p = getCookie("wifi-pswd");
  39.         
  40.         if(u != "") {
  41.                 document.getElementById("username").value = u;
  42.                 document.getElementById("pswd").value = p;
  43.                
  44.                 document.getElementById("login").click();
  45.         }
  46. }

  47. /* 回调函数。“获取验证码”按钮按下后,将自动调用此函数。可根据code值自行改写该函数。 */
  48. function WiwizSmsVerifyMsg(code) {
  49.         if      (code == "-1") {
  50.                 alert("手机号码不可为空!");
  51.         } else if(code == "0") {
  52.                 alert("验证码已通过短信发送至您的手机,请注意查收。然后请在认证页面输入验证码。");
  53.         } else if(code == "1") {
  54.                 alert("该热点不允许进行手机号码验证。如有疑问请您联系热点管理员。");
  55.         } else if(code == "2") {
  56.                 alert("该热点不允许进行手机号码验证。如有疑问请您联系热点管理员。");
  57.         } else if(code == "3") {
  58.                 alert("该手机号码不允许进行验证。如有疑问请您联系热点管理员。");
  59.         } else if(code == "4") {
  60.                 alert("手机号码验证过于频繁,请稍后再试。");
  61.         } else if(code == "5") {
  62.                 alert("该手机号码进行验证次数已超过今日上限。");
  63.         } else if(code == "6") {
  64.                 alert("热点认证服务已暂停,不可进行手机验证。");
  65.         } else if(code == "7") {
  66.                 alert("该热点手机验证次数已超过配额。请联系热点管理员。");
  67.         } else if(code == "8") {
  68.                 alert("请求已超时,请刷新认证页面。");
  69.         } else if(code == "9") {
  70.                 alert("请使用上一次通过短信接收到的验证码。");
  71.         } else if(code == "99") {
  72.                 alert("验证短信发送失败。请检查手机号码的有效性,或联系热点管理员。");
  73.         } else if(code == "999") {
  74.                 alert("系统异常,验证短信发送失败。请联系热点管理员。");
  75.         } else {
  76.                 alert("系统异常。请联系热点管理员。");
  77.         }
  78. }

  79. /* 回调函数。“认证”按钮按下后,如报错将自动调用此函数。可根据code值自行改写该函数。 */
  80. function WiwizAuthPageError(code) {
  81.         if       (code == 1) {
  82.                 alert("您无法使用此网络,除非您认同此协议条款。");
  83.         } else if(code == 2) {
  84.                 alert("请输入用户名。");
  85.         } else if(code == 3) {
  86.                 alert("用户名或密码错误。");
  87.         } else if(code == 4) {
  88.                 alert("电子招待券无效。");
  89.         } else if(code == 6) {
  90.                 alert("超过最大在线用户数。");
  91.         } else if(code == 7) {
  92.                 alert("请输入手机号码。");
  93.         } else if(code == 32) {
  94.                 alert("账户存在异常,暂时锁定中。");
  95.         } else if(code == 35) {
  96.                 alert("手机验证码错误或已超时。");
  97.         } else {
  98.                 alert("未知错误。错误码:"+ code);
  99.         }
  100. }
  101. </script>
  102. </head>
  103. <body onload="doInit();">

  104. <form name="myform" id="myform" action="" method="post">

  105. <center>

  106. <table width="320" bgcolor="#ffffff">
  107. <tr><td align="center">
  108. <br>
  109. <table width="100%" cellspacing="2" cellpadding="2">
  110. <tr align="center"><td>
  111. <font size="+2" color="#000000"><b>Wifi无线网络 - 10M带宽 </b> </font>
  112. </td></tr>

  113. <tr align="center"><td>
  114. <img src="/as/img/wiwiz.gif"></img>
  115. </td></tr>
  116. </table>

  117. <table width="99%" cellspacing="1" cellpadding="2" style="font-size:12px">
  118. <tr align="center">
  119.         <td width="100%">        
  120.                 <table style="font-size:12px" width="98%">
  121.                 <tr><td>
  122.                 <font color="#ff1111">
  123.                 本热点为计费WiFi热点。费率为:
  124.                 3元/日
  125.                 50元/月
  126.                 </font>
  127.                 </td></tr>
  128.                 </table>
  129.                


  130.                 <table style="font-size:12px" width="100%">
  131.                 <tr>
  132.                 <td align="center">
  133.                         
  134.                         在使用此网络之前,请您详细阅读使用条款。<br>
  135.                         <textarea readonly rows="4" style="width:87%;font-size:12px">条款内容</textarea>
  136.                         <br>
  137.                         <!-- 参数: agree 代表认同协议 -->
  138.                         <input name="agree" id="agree" type="checkbox" value="1" checked />
  139.                         <label for="agree">我完全同意此条款的内容。</label>
  140.                 </td>
  141.                 </tr>
  142.                 </table>        
  143.                
  144.         </td>
  145. </tr>
  146. </table>

  147. <table width="100%" cellspacing="1" cellpadding="4" style="font-size:12px">
  148. <tr align="center">
  149.         <td width="100%">
  150.         
  151.                
  152.                 <table style="font-size:12px">
  153.                 <tr>
  154.                         <td>用户名: </td>
  155.                         <td><!-- 参数: username 代表用户名 -->
  156.                                 <input name="username" id="username" type="text" value="" style="width:140px" />
  157.                         
  158.                         </td>
  159.                 </tr>
  160.                 <tr>
  161.                         <td>密码: </td>
  162.                         <td><!-- 参数: pswd 代表密码 -->
  163.                                 <input name="pswd" id="pswd" type="password" style="width:140px" />
  164.                         </td>
  165.                 </tr>
  166.                 </table>
  167.                

  168.                 <input name="remember" id="remember" type="checkbox" value="1"
  169. checked /><label for="remember">下次自动登录</label>
  170.                 <br><br>
  171.                 <!-- 用于开始触发认证的按钮,onclick事件必须调用WiwizStartAuth()函数 -->
  172.                 <!-- recordCookie函数用于处理记录Cookie -->               
  173.                 <input type="button" name="login" id="login" value="   立即开始使用此网络   " onclick="recordCookie(); WiwizStartAuth();" />
  174.                
  175.                 <br>
  176.                 <br>

  177.                 <font size="-1"><b><a href="#"
  178. onclick="window.open('http://cp.wiwiz.com/as/s/viewhotspot/?gw_id='+
  179. WiwizGetQueryParameter('gw_id')); return
  180. false;">更多信息</a></font></b>
  181.                 <br>
  182.                 <br>
  183.                 <font style="font-size:12px"><b>
  184.                 <a href="/as/s/register/" target="_blank">注册</a>   |   
  185.                 <a href="/as/s/remindpswd/" target="_blank">忘记密码?</a>
  186.                 </b></font>        
  187.         </td>
  188. </tr>
  189. </table>

  190. </td></tr></table>

  191. <br>
  192. </center>

  193. </form>
  194. </body></html>
复制代码


本帖子中包含更多资源

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

x

评分

1

查看全部评分

682

回帖

2567

积分

136 小时

在线时间

少校

注册时间
2012-8-28
金币
1854 个
威望
0 个
荣誉
0 个
累计签到:143 天
连续签到:1 天
[LV.200]无线新星
发表于 2012-9-20 16:41 |显示全部楼层
学习学习。。
回复

使用道具 举报

450

回帖

2394

积分

1950 小时

在线时间

少校

注册时间
2011-1-13
金币
1544 个
威望
17 个
荣誉
5 个
累计签到:64 天
连续签到:0 天
[LV.100]试剑无线
发表于 2012-9-20 16:55 |显示全部楼层
这个得支持
回复

使用道具 举报

328

回帖

1075

积分

202 小时

在线时间

上尉

注册时间
2012-7-6
金币
723 个
威望
0 个
荣誉
0 个
累计签到:26 天
连续签到:0 天
[LV.50]初入江湖
发表于 2012-9-20 17:10 |显示全部楼层
技术贴,不懂,但是很佩服
回复

使用道具 举报

1412

回帖

4066

积分

719 小时

在线时间

少校

注册时间
2010-4-6
金币
2550 个
威望
3 个
荣誉
0 个
累计签到:31 天
连续签到:0 天
[LV.50]初入江湖
发表于 2012-9-20 17:31 |显示全部楼层
学习            
回复

使用道具 举报

58

回帖

934

积分

24 小时

在线时间

中尉

注册时间
2012-6-20
金币
869 个
威望
0 个
荣誉
0 个
累计签到:81 天
连续签到:0 天
[LV.100]试剑无线
发表于 2012-9-20 17:32 |显示全部楼层
高手啊 学习中
回复

使用道具 举报

106

回帖

800

积分

50 小时

在线时间

中尉

注册时间
2009-5-9
金币
367 个
威望
50 个
荣誉
5 个
累计签到:2 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2012-9-20 18:11 |显示全部楼层
LZ~~请教如何支付3/日,50/月。我不关心技术。
回复

使用道具 举报

292

回帖

1003

积分

65 小时

在线时间

上尉

注册时间
2009-2-2
金币
691 个
威望
1 个
荣誉
0 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2012-9-20 19:06 |显示全部楼层
LZ~~请教如何支付3/日,50/月。我不关心技术。
回复

使用道具 举报

600

回帖

1630

积分

387 小时

在线时间

上尉

注册时间
2012-8-26
金币
911 个
威望
1 个
荣誉
0 个
累计签到:22 天
连续签到:0 天
[LV.50]初入江湖
发表于 2012-9-20 19:44 |显示全部楼层
我收藏了,现在没有可用的路由器,等我淘到路由器了也搞一个
回复

使用道具 举报

3517

回帖

3万

积分

2431 小时

在线时间

大校

注册时间
2012-4-5
金币
27493 个
威望
693 个
荣誉
0 个
累计签到:1681 天
连续签到:0 天
[LV.1825]无线元老
发表于 2012-9-20 23:46 |显示全部楼层
高手啊 学习中      
回复

使用道具 举报

774

回帖

6099

积分

1305 小时

在线时间

中校

技术达人

注册时间
2011-4-12
金币
4969 个
威望
21 个
荣誉
3 个
累计签到:32 天
连续签到:0 天
[LV.50]初入江湖
发表于 2012-9-21 12:23 |显示全部楼层
威廉小黑 发表于 2012-9-20 18:11
LZ~~请教如何支付3/日,50/月。我不关心技术。

用户用wiwiz的支付宝付款,然后我再从wiwiz提款
回复

使用道具 举报

215

回帖

712

积分

194 小时

在线时间

中尉

注册时间
2011-2-3
金币
467 个
威望
2 个
荣誉
0 个
累计签到:13 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2012-9-21 16:37 |显示全部楼层
回复

使用道具 举报

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

本版积分规则

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-5-7 11:47

返回顶部 返回列表