垃圾评论解决办法收集

十 8th, 2009 | Posted by | Filed under 网络技术

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代码。

  1. <script type=”text/javascript”>
  2. function check_spamer(obj)
  3. {
  4.     var reg = /[\u4E00-\u9FA5]/;//匹配中文字符
  5.     var comment = obj.comment.value;
  6.     return reg.test(comment);//如果评论中包含中文字符返回true,否者返回false
  7. }
  8. </script>

复制代码

然后将

  1. <form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php” method=”post” id=”commentform”>

复制代码

修改成了

  1. <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行的

  1. $comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;

复制代码

替换成

  1. $comment_content      = ( isset($_POST['comment']) && preg_match(‘/[\x{4e00}-\x{9fa5}]/u’, $_POST['comment']) ) ? trim($_POST['comment']) : null;//如果评论内容中包含中文字符返回评论内容,否者返回null

建议你还是两种方法配合使用。
原文地址:http://cheon.info/564

标签:
目前还没有任何评论.