ECshop中验证码的使用

原文地址:ECshop中验证码的使用 作者:流星飞雨

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());

 

// 验证码防止灌水刷屏 
    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']);
        }
    }

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

你可能感兴趣的:(ECshop中验证码的使用)