WordPress添加算术验证码防止机器垃圾评论

07-07 | 夜光 | IT记录

WordPress添加算术验证码:

修改网站根目录wp-comments-post.php文件 :
查找:if ( ” == $comment_content )
在其上面添加代码:

//maths_checkcode
if ( !$user->ID ) {
$aaa = trim($_POST[aaa]);
$bbb = trim($_POST[bbb]);
$subab = trim($_POST[subab]);if((($aaa+$bbb)!=$subab)|| empty($subab)){
wp_die( __('Error: Please enter the correct results of the math problems.') );
}
}
//maths_checkcode_end

然后修改当前主题目录下的comments.php文件,在适当的位置添加代码:

对于YLife主题,可以和昵称、邮箱、网址放在一起,即查找:

<label for="url"><?php _e('Website', 'YLife'); ?>

在其下方添加如下代码:

<?php if (!$user_ID) : ?>
<p><input type="text" name="subab" id="subab" size="36" tabindex="4" />
<label for="subab"><?php $aaa=rand(0,5); $bbb=rand(3,9); ?><span style="color:#FF0000;"><?php echo $aaa; ?>+<?php echo $bbb; ?>=?</span> <?php if ($req) _e('(required)', 'YLife'); ?></label></p>
<input name="aaa" value="<?php echo $aaa; ?>" type="hidden" />
<input name="bbb" value="<?php echo $bbb; ?>" type="hidden" />
<?php endif; ?>

对于iNove主题,可以在提交按钮之前添加,即查找:

<input name="submit" type="submit" id="submit"

在其前面添加如下代码:

<?php if (!$user_ID) : ?>
<span style="color:#FF0000;">
<?php $aaa=rand(0,5); $bbb=rand(3,9); ?><?php echo $aaa; ?>+<?php echo $bbb; ?>=<input type="text" name="subab" id="subab" class="textfield" size="2" tabindex="5" style="width:20px" /><?php if ($req) _e('(required)', 'inove'); ?>
</span>
<input name="aaa" value="<?php echo $aaa; ?>" type="hidden" />
<input name="bbb" value="<?php echo $bbb; ?>" type="hidden" />
<?php endif; ?>
本文标签: ,,,
本文链接: wordpress-maths-checkcode-anti-spam/
版权所有: 玻璃泉, 转载请注明本文出处。

2个评论

  1. 我可以很悲催的说验证码不填写或者填错都可以正常回复,目前还不知道怎么修改!