• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

wordpress无插件添加验证码,告别垃圾留言

wordpress 搞代码 4年前 (2021-12-23) 30次浏览 已收录 0个评论

这段时间,博客里面,有大量的垃圾评论,都是群发工具发出来的,二天没有看自己的博客了,里面尽然有40多条这样的垃圾评论,并且里面的内容还特别的多,都是一些链接,有1000多个字符,郁闷的我,加上了验证码,请大家见谅。

下面是我不用插件的情况下,添加验证码的过程:

1,在wp-content/themes/你的主题/comments.php里面

找到

<li>
 <label for="email"><span><?php _e('E-mail:'); ?></span></label>
 <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />
 <span><?php if ($req) _e('(required)'); ?> <?php _e('(will not be published)'); ?></span>
 </li>

在他下面添加以下内容:

<li>
 <label for="email"><span><?php $first = rand(1,9);  $second = rand(1,9);  echo "验证码:"; ?></span></label>
 <input type="text" name="code" id="code" value="" size="22" tabindex="3" />
 <input type="hidden" name="ji" id="ji" value="<?php echo $first*$second;?>" size="22" tabindex="3" />
 <span><?php if ($req) _e('(required)'); ?> &nbsp;&nbsp;<?php  echo $first;?>X<?php  echo $second;?>=?</span>                    
 </li>

2,在wordpress的根目录下面有一个文件wp-comments-post.php

if ( '' == $comment_content )
 wp_die( __('Error: please type a comment.') );

差不多在85行左右,找到Error: please type a comment.对评论内容的check,提交时评论内容不能为空。在这上面添加以下内容

$code      = ( isset($_POST['code']) ) ? trim($_POST['code']) : null;
$ji      = ( isset($_POST['ji']) ) ? trim($_POST['ji']) : null;
if ( !$user->ID ) {
 if(!empty($code)){
 if($code != $ji){
 wp_die( __('错误: 算的不对,你是不是小学没毕业?嘿嘿') );
 }
 }else{
 wp_die( __('错误: 请输入验证码') );
 }
}

二步搞定,简单吧。一般的验证码都是用图片的,我没有图片,节省资源啊,我没有用session和cookie,用算术来代替。只想防群发软件。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:wordpress无插件添加验证码,告别垃圾留言

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址