垃圾评论解决办法收集
NND这些垃圾评论,半个月居然达到400多条,本来不想装插件的,现在实在没办法了。网找了一些方法,先收集起来。
方法一:
首先打开你的主题里的评论页面。地址一般就是blog/wp-content/themes/主题/comments.php
找到提交按钮加个点击事件:
我的是
<input name="submit" type="submit" id="submit" tabindex="5" value="确 认 提 交" />
修改为:<input name=”submit” type=”submit” id=”submit” tabindex=”5″ value=”确 认 提 交” onclick=”oncheck_comments()”/>
在旁边加个隐藏域:<input type="hidden" name="sure_submit" />再在页尾处加个代码:
<script>function oncheck_comments()
{
commentfrom.sure_submit.value='sure';
}
</script>
第二步打开wp的wp-comments-post.php这个文件
找到$comment_content = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
大功告成啦。
在下面插入:if($_POST["sure_submit"]!="sure")
{
die("sorry,please to be good person. ");
}
方法二:
前两天发布的防非中文垃圾评论的方法今天发现正则表达式写错了,重新发布一下。
此方法兼容所有主流和非主流浏览器并有效防止机器人。
方法1:
手动修改主题里的评论文件(comments.php),在文件的任意位置插入如下JS代码。
- <script type=”text/javascript”>
- function check_spamer(obj)
- {
- var reg = /[\u4E00-\u9FA5]/;//匹配中文字符
- var comment = obj.comment.value;
- return reg.test(comment);//如果评论中包含中文字符返回true,否者返回false
- }
- </script>
复制代码
然后将
- <form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php” method=”post” id=”commentform”>
复制代码
修改成了
- <form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php” method=”post” id=”commentform”<?php if ( !$user_ID ) : ?> onsubmit=”return check_spamer(this);”<?php endif; ?>>
复制代码
注:经测试方法1只针对手动发布垃圾评论的Spammer有效。如果想防止机器人可以配合或单独使用方法2。
方法2:
手动修改wp/wp-comments-post.php文件。
将第40行的
- $comment_content = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
复制代码
替换成
- $comment_content = ( isset($_POST['comment']) && preg_match(‘/[\x{4e00}-\x{9fa5}]/u’, $_POST['comment']) ) ? trim($_POST['comment']) : null;//如果评论内容中包含中文字符返回评论内容,否者返回null
建议你还是两种方法配合使用。
原文地址:http://cheon.info/564