ECshop中验证码在其他位置的使用(如邮件发送前验证)以及出错后的解决方法

本文详细介绍了ECshop中验证码的实现与调用方法,包括输入框展示、图片加载及验证过程。同时,阐述了如何通过验证码防止灌水刷屏及在没有验证码时采用时间限制来抵御机器人发帖或恶意评论的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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">


二、验证码的验证
 

   if(empty($_POST['captcha']))
    {
    show_message($_LANG['order']['captcha_empty']);
    }

   
   include_once('includes/cls_captcha.php');

   $validator = new captcha();
   //$validator->session_word = 'captcha_login';
    if(!$validator->check_word(($_POST['captcha'])))
    {
       show_message($_LANG['invalid_captcha']);
    }
$GLOBALS['smarty']->assign('rand', mt_rand());


 

三、 验证码防止灌水刷屏及没有验证码时,用时间来限制机器人发帖或恶意发评论 

<pre name="code" class="php">// 验证码防止灌水刷屏 
    if((intval($_CFG['captcha']) & CAPTCHA_MESSAGE)&& gd_version() >0)
    {
       include_once('includes/cls_captcha.php');
       $validator = new captcha();
        //验证验证码是否正确 
       if(!$validator->check_word($_POST['captcha']))
       {
           show_message($_LANG['invalid_captcha']);
       }
    }
    else
    {
       //没有验证码时,用时间来限制机器人发帖或恶意发评论 
       if (!isset($_SESSION['send_time']))
       {
           $_SESSION['send_time'] = 0;
       }

       $cur_time = gmtime();
       if (($cur_time - $_SESSION['send_time']) < 30) //小于30秒禁止发评论
       {
           show_message($_LANG['cmt_spam_warning']);
       }
    }

四、由于版本问题出现错误的解决方法(Strict Standards: Redefining already defined constructor for class captcha……)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加布里尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值