您的位置:首页 > 运维架构

ECshop中验证码的使用

2014-11-20 19:34 573 查看
原文地址: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']);

       
}

    }

没有验证码的时候居然还可以用时间来限制恶意发评论,今天算是又学到一招了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: