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']);
}
}
没有验证码的时候居然还可以用时间来限制恶意发评论,今天算是又学到一招了。