当前位置:首页 > CMS教程 > ecshop > 列表

ECshop中验证码的使用

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-21 15:27:46 浏览: 评论:0 

ECshop中验证码的调用 input type="text" size="8" name="captcha" class="inputBg" />

img src="captcha.php?{$rand}" alt="captcha" onClick="this.src='captcha.php?'+Math.random()" class="captcha">

input 和 img 前面的"<"自己加上

验证码的验证

  1. if (emptyempty($_POST['captcha'])) 
  2.     { 
  3.      show_message($_LANG['order']['captcha_empty']); 
  4.     } 
  5.     
  6.     include_once('includes/cls_captcha.php'); 
  7.     $validator = new captcha(); 
  8.     //$validator->session_word = 'captcha_login'; 
  9.     if (!$validator->check_word(($_POST['captcha']))) 
  10.     { 
  11.         show_message($_LANG['invalid_captcha']); 
  12.     } 
  13. $GLOBALS['smarty']->assign('rand', mt_rand()); 
  14.  
  15. // 验证码防止灌水刷屏  
  16.     if ((intval($_CFG['captcha']) & CAPTCHA_MESSAGE) && gd_version() > 0) 
  17.     { 
  18.         include_once('includes/cls_captcha.php'); 
  19.         $validator = new captcha(); 
  20.         // 验证验证码是否正确  
  21.         if (!$validator->check_word($_POST['captcha'])) 
  22.         { 
  23.             show_message($_LANG['invalid_captcha']); 
  24.         } 
  25.     } 
  26.     else 
  27.     { 
  28.         //没有验证码时,用时间来限制机器人发帖或恶意发评论  
  29.         if (!isset($_SESSION['send_time'])) 
  30.         { 
  31.             $_SESSION['send_time'] = 0; 
  32.         } 
  33.         $cur_time = gmtime(); 
  34.         if (($cur_time - $_SESSION['send_time']) < 30) // 小于30秒禁止发评论 
  35.         { 
  36.             show_message($_LANG['cmt_spam_warning']); 
  37.         } 
  38.     } 

没有验证码的时候居然还可以用时间来限制恶意发评论,今天算是又学到一招了.

Tags: ECshop 验证码使用

分享到: