您的位置:博客首页 >> Web技术 >> 管理后台登陆增加口令卡功能

管理后台登陆增加口令卡功能

日志编号:65 发表时间: 2012-01-17 10:24:46 关注次数:2940
本文通过一个实例介绍了登陆验证码、口令session的安全编程应用。
[php]
<?php
$token = array ("A1"=>"742","A2"=>"16","A3"=>"17","A4"=>"543","A5"=>"80","A6"=>"14",
"B1"=>"16","B2"=>"72","B3"=>"20","B4"=>"856","B5"=>"821","B6"=>"826",
"C1"=>"76","C2"=>"263","C3"=>"845","C4"=>"11","C5"=>"46","C6"=>"74",
"D1"=>"813","D2"=>"825","D3"=>"58","D4"=>"92","D5"=>"452","D6"=>"34",
"E1"=>"579","E2"=>"30","E3"=>"81","E4"=>"922","E5"=>"899","E6"=>"64");//口令卡,可以使用魔兽世界,工行口令卡
if(isset($_GET['action'])){//同$_POST(submit)
 $admin=$_POST['username'];//未涉及数据库无需过滤
 $psw=$_POST['password'];
 $put_token=$_POST['token'];
session_start();
 if ($_SESSION["admin_token"]!=$put_token && $put_token!='showmethemoney'){//作弊口令,偷懒用。建议去掉,否则增加口令卡功能就没意义了
 echo "<script LANGUAGE='javascript'>alert('嘿嘿,口令卡要不要办一张?');history.go(-1);</script>";
$rand_keys=array_rand($token,2);//重新生成口令,以免客户端使用工具提交暴力登陆。如果没此步,不通过浏览器登陆的话,口令永远不变的。
$_SESSION["admin_token"]=$token[$rand_keys[0]].$token[$rand_keys[1]];
 }
 else
 {
  if($admin=="flashgou"&&$psw=="abcdefg"){
  session_start();
    $_SESSION["admin_admin"]="kuhanzhu";
   header('Location:admin.php');
   }
  else {
  echo "<script LANGUAGE='javascript'>alert('好像是非法登陆哦');history.go(-1);</script>";
$rand_keys=array_rand($token,2);//同上
$_SESSION["admin_token"]=$token[$rand_keys[0]].$token[$rand_keys[1]];
   }
  }
}
else {
 $rand_keys=array_rand($token,2);
 session_start();
 $_SESSION["admin_token"]=$token[$rand_keys[0]].$token[$rand_keys[1]];
?>
 <div id="login">
  <div id="login_form">
  <form name="gof" method="post" action="?action=login">
  <div id="login_form_title">登陆</div>
  <div><ul id="login_form_ul">
    <li><label>帐号:</label><input tabIndex="1" maxlength="20" size="16" name="username" class="login_input"/></li>
       <li><label>密码:</label><input tabIndex="2" type="password" maxlength="20" size="16" name="password" class="login_input"/></li>
    <li><label>口令:</label><input tabIndex="3" type="text" maxlength="20" size="12" name="token" class="login_input"/></li>
    <li><?php echo $rand_keys[0].'&nbsp;&nbsp;'.$rand_keys[1];?></li>
    <li id="login_submit"><input name="submit" class="login_btn" style="cursor: pointer;" value="登 录" tabindex="3" type="submit"/></li>
   </ul></div>
      </form>
        <div class="login_bottom">&nbsp;</div>
      </div>
 <?php
}?>[/php]
本站不提供讨论功能。
本站所有非新闻类文章均为原创,且禁止转载。
本站为了获得更多流量赚取广告费,难免会有以次充好的文章,望见谅,勿鄙视。