无线论坛 门户 组建无线网络 无线运维 查看内容

wiwiz认证页面源码 - 招待券与短信验证 两种认证可切换

2013-5-21 10:49| 查看: 4328| 评论: 131|原作者: tiida2011|来自: 中国无线论坛

最近客户出了一个难题,希望同时使用手机号码短信验证 和 电子招待券 两种认证方式,而且希望可以让客户二选一,也就是既能用招待券认证,也可以用手机号码认证。这样店内的人和有招待券的客人和只希望用手机号码上网 ...
最近客户出了一个难题,希望同时使用手机号码短信验证 和 电子招待券 两种认证方式,而且希望可以让客户二选一,也就是既能用招待券认证,也可以用手机号码认证。这样店内的人和有招待券的客人和只希望用手机号码上网的人都能进行认证。
难的地方在于wiwiz本身虽然支持同时设置这两种认证方式,但如果同时启用,认证的时候就必须同时满足这两个认证条件,而不能二选一。
经过一个朋友的帮助,终于用自己写的认证页面代码解决了这个问题。
原理是,先在Wiwiz后台设置一个默认的电子招待券(我叫它万能招待券),和一个万能手机验证码。
当用户选择电子招待券认证模式时,就用Javascript随便设置一个手机号,手机验证码设为之前设置的万能验证码,并且在页面上隐藏手机号和万能验证码。反过来,如果用户选择手机号码认证模式时,就用Javascript随便设置之前设置的万能招待券并隐藏。

认证页面截屏如下:
招待券认证模式  手机号码认证模式
认证页面代码如下:
(代码中的MAGIC_VOUCHER和MAGIC_MOBILE_CODE就是在Wiwiz后台设置的万能招待券和万能手机验证码)
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <meta http-equiv="Content-Language" content="zh">
  5. <meta http-equiv="Pragma" content="no-cache">
  6. <meta http-equiv="Cache-Control" content="no-cache">
  7. <meta name="viewport" content="user-scalable=no, width=device-width" />  
  8. <style type="text/css">

  9. <!--
  10. h1 { color: #841c39; }
  11. td { color: #841c39; }
  12. { color: #841c39; }
  13. a {color: #841c39;}

  14. -->
  15. </style>

  16. <!-- 必须引入AuthPageScript.js -->
  17. <script src="/as/AuthPageScript.js"></script>
  18. <script>
  19. /* 自定义部分 */
  20. var MAGIC_VOUCHER = "MagicVoucher3C3f3eollpoi0OC";        
  21. var MAGIC_MOBILE = "13011112222";
  22. var MAGIC_MOBILE_CODE = "MagicMobileCode9c3iIl10OA";

  23. function $(id) {
  24.         return document.getElementById(id);
  25. }

  26. /* 用电子招待券认证 */
  27. function onVoucher() {
  28.         $("spVoucher").style.display = "";
  29.         $("spMobile").style.display = "none";
  30.         
  31.         $("linkVoucher").style.fontWeight = "bold";
  32.         $("linkMobile").style.fontWeight = "normal";
  33.         $("spMarkVoucher").innerHTML = "▶";
  34.         $("spMarkMobile").innerHTML = "";
  35.         
  36.         $("voucher").value = "";
  37.         $("phonenum").value = MAGIC_MOBILE;
  38.         $("phonecode").value = MAGIC_MOBILE_CODE;
  39. }

  40. /* 用手机号码(短信验证)认证 */
  41. function onMobile() {
  42.         $("spVoucher").style.display = "none";
  43.         $("spMobile").style.display = "";

  44.         $("linkVoucher").style.fontWeight = "normal";
  45.         $("linkMobile").style.fontWeight = "bold";
  46.         $("spMarkVoucher").innerHTML = "";
  47.         $("spMarkMobile").innerHTML = "▶";        

  48.         $("voucher").value = MAGIC_VOUCHER;
  49.         $("phonenum").value = "";
  50.         $("phonecode").value = "";
  51. }

  52. /* 响应回车键 */
  53. document.onkeydown = function(e){
  54.         if(!e) e = window.event;
  55.         if((e.keyCode || e.which) == 13){
  56.                 $("login").click(); return false;        //触发认证按钮
  57.         }
  58. }

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

  92. /* 回调函数。“认证”按钮按下后,如报错将自动调用此函数。可根据code值自行改写该函数。 */
  93. function WiwizAuthPageError(code) {
  94.         if       (code == 1) {
  95.                 alert("您无法使用此网络,除非您认同此协议条款。");
  96.         } else if(code == 2) {
  97.                 alert("请输入用户名。");
  98.         } else if(code == 3) {
  99.                 alert("用户名或密码错误。");
  100.         } else if(code == 4) {
  101.                 alert("电子招待券无效。");
  102.         } else if(code == 6) {
  103.                 alert("超过最大在线用户数。");
  104.         } else if(code == 7) {
  105.                 alert("请输入手机号码。");
  106.         } else if(code == 8) {
  107.                 alert("热点已停用。");
  108.         } else if(code == 32) {
  109.                 alert("账户存在异常,暂时锁定中。");
  110.         } else if(code == 35) {
  111.                 alert("手机验证码错误或已超时。");
  112.         } else {
  113.                 alert("未知错误。错误码:"+ code);
  114.         }
  115. }
  116. </script>
  117. </head>
  118. <!-- Body Onload 事件调用onVoucher() -->
  119. <body topmargin="0" leftmargin="0" onload="onVoucher();">

  120. <form name="myform" id="myform" action="" method="post" onsubmit="alert(0);">

  121. <table width="100%" cellspacing="1" cellpadding="4" style="font-size:14px" bgcolor="#FFFFFF">
  122. <tr align="center">
  123.         <td width="100%">
  124.                 <!-- 商户LOGO -->
  125.                 <img src=/as/s/uploaduserfile/?dl=0&fn=13c3970f650.png />
  126.                 <br><br>
  127.                
  128.                 <span id="linkVoucher" style="font-weight:bold; font-size:14px"><span id="spMarkVoucher">▶</span><a href="#" onclick="onVoucher();return false;">用电子招待券认证</a></span>     
  129.                 <span id="linkMobile" style="font-weight:normal; font-size:14px"><span id="spMarkMobile"></span><a href="#" onclick="onMobile();return false;">用手机号码认证</a></span>
  130.                 <br><br>               
  131.                
  132.                 <span id="spVoucher" style="display:">
  133.                 <br>
  134.                 <table style="font-size:14px">
  135.                 <tr>
  136.                         <td><b>电子招待券: </b></td>
  137.                         <td>
  138.                                 <!-- 参数: voucher 代表电子招待券 -->
  139.                                 <input name="voucher" id="voucher" type="text" style="width:140px" />               
  140.                         </td>
  141.                 </tr>
  142.                 <tr>
  143.                         <td colspan="2" align="center"><font style="font-size:12px;color:#666666">请向店员索取上网用电子招待券</font></td>
  144.                 </tr>
  145.                 </table>
  146.                 </span>
  147.         
  148.                 <span id="spMobile" style="display:none">
  149.                 <table style="font-size:14px">
  150.                 <tr>
  151.                         <td><b>手机号码: </b></td>
  152.                         <td>
  153.                                 <!-- 参数: phonenum 代表手机号码 -->
  154.                                 <input name="phonenum" id="phonenum" type="text" value="" style="width:140px" />
  155.                         </td>
  156.                 </tr>
  157.                 <tr>
  158.                         <td></td>
  159.                         <td>
  160.                                 <!-- 用于取得发送手机验证码短信的按钮,onclick事件必须调用WiwizSmsVerify()函数
  161.                                     WiwizSmsVerify()参数说明:
  162.                                     参数1(必须): 手机号码
  163.                                     参数2(必须): HotSpot ID
  164.                                  -->
  165.                                 <input type="button" value="获取验证码" onclick="WiwizSmsVerify(document.getElementById('phonenum').value, WiwizGetQueryParameter('gw_id'));" />
  166.                         </td>
  167.                 </tr>
  168.                 <tr>
  169.                         <td><b>手机验证码: </b></td>
  170.                         <td>
  171.                         <!-- 参数: phonecode 代表手机验证码 -->
  172.                         <input name="phonecode" id="phonecode" type="text" value="" style="width:140px" />
  173.                         </td>
  174.                 </tr>
  175.                 <tr>
  176.                         <td colspan="2" align="center"><font style="font-size:12px;color:#666666">验证码将通过短信发送至手机</font></td>
  177.                 </tr>               
  178.                 </table>
  179.                 </span>
  180.                 <br>
  181.                
  182.                 <input type="button" name="login" id="login" value="   认证   " onclick="WiwizStartAuth();" />
  183.                 <br><br>
  184.         </td>
  185. </tr>
  186. </table>

  187. </form>
  188. </body></html>
复制代码


3

高人
6

专业

握手

霸气
6

雷人

吐血

山寨
2

奋斗

刚表态过的朋友 (17 人)

发表评论

最新评论

引用 brickall 2013-1-15 11:47
楼主这个真好。我也做过wiwiz认证页面,不过自己写代码的功力不够。
我也分享一个
hotspot.png
引用 892733324 2013-1-15 12:13
这个属于 钓鱼  的嘛
引用 吹风的石头 2013-1-15 12:41
都很不错,准备实战下
引用 linfong007 2013-1-15 12:44
猪么猪么难呢?
引用 晨枫电脑维修 2013-1-15 13:00
都很不错:)
引用 tmwz2005 2013-1-15 13:39
严重支持,有机会一定试试
引用 fenglingpig 2013-1-15 14:24
很厉害啊,什么样子的路由呀、
引用 770622144 2013-1-15 14:29
严重支持,有机会一定试试
引用 代号SOS 2013-1-15 14:51
楼主好功力
引用 xibianyu 2013-1-15 15:02
很厉害的样子,支持下
引用 谁该去沉睡 2013-1-15 15:06
我去  认证界面 得研究下
引用 tiida2011 2013-1-15 17:51
892733324 发表于 2013-1-15 12:13
这个属于 钓鱼  的嘛

和钓鱼有什么关系?
引用 °掩饰悲傷* 2013-1-15 20:18
我想学习
引用 luckfeihong 2013-1-15 20:25
wiwiz认证是什么  怎么弄的
引用 tiida2011 2013-1-15 23:51
fenglingpig 发表于 2013-1-15 14:24
很厉害啊,什么样子的路由呀、

Buffalo WHR-G300N v2
引用 lxxx586780 2013-1-16 11:13
好能能干哟。亲!
引用 kingstarfy 2013-1-16 15:45
楼主的 WIWIZ 收费版本的吗?
引用 tiida2011 2013-1-16 23:45
代号SOS 发表于 2013-1-15 14:51
楼主好功力

还好了。也是受人的帮助学会的
引用 yangzhanlei 2013-1-17 02:45
严重支持,有机会一定试试

查看全部评论(131)

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

GMT+8, 2024-4-20 06:39

返回顶部