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">
input 和 img 前面的"<"自己加上
验证码的验证
- if (emptyempty($_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']);
- }
- }
没有验证码的时候居然还可以用时间来限制恶意发评论,今天算是又学到一招了.

