worpress用代码去除垃圾留言评论的三方法

worpress用代码去除垃圾留言评论的「第一种方法」
一般来讲,我们可以从后台的回响看到评论者的IP
以前垃圾评论的IP大多不容易改变,但现在都会改变
我这边还是提供封锁指定的IP
这需要开启根目录的.htaccess
贴入以下代码

[cc lang="php"] Order Allow,Deny Deny from 60.191.167.93 Deny from 221.204.241.24 Deny from 182.192.74.63 Deny from 52.27.78.166 Deny from 222.45.85.210 Allow from all [/cc]

类似这样的作法,你可以自行增加或减少IP

 

「第二种方法」worpress用代码去除垃圾留言评论
封锁有一堆英文、一堆日文垃圾留言评论,这是比较好的作法
开启主题的function.php贴入以下代码就可以

[cc lang="php"] //封锁有一堆英文、一堆日文垃圾留言评论, function refused_spam_comments( $comment_data ) { $pattern = '/[一-龥]/u'; $jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u'; if(!preg_match($pattern,$comment_data['comment_content'])) { err('这边是你可以回应的内容。你可以自行修改' ); } if(preg_match($jpattern, $comment_data['comment_content'])){ err('这边是你可以回应的内容。你可以自行修改'); } return( $comment_data ); } add_filter(' preprocess_comment','refused_spam_comments'); [/cc]  

第三种方式「封锁特定的关键字」

[cc lang="php"] //封锁特定关键字的留言评论方式function in_comment_post_like($string, $array) { foreach($array as $ref) { if(strstr($string, $ref)) { return true; } } return false; } function drop_bad_comments() { if (!empty($_POST['comment'])) { $post_comment_content = $_POST['comment']; $lower_case_comment = strtolower($_POST['comment' ]); $bad_comment_content = array( '感谢感谢感谢感谢', '谢谢~谢谢~谢谢~谢谢~', 'thx~thx~thx~', '你好~你好~你好~' ); if ( in_comment_post_like($lower_case_comment, $bad_comment_content)) { $comment_box_text = wordwrap(trim($post_comment_content), 80, "n ", true); $txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com -text-area_dropped.txt', 'a'); fwrite($txtdrop, " --------------n [COMMENT] = " . $post_comment_content . "n ----- ---------n"); fwrite($txtdrop, " [SOURCE_IP] = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:ia") . "n"); fwrite($txtdrop, " [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "n"); fwrite($txtdrop, " [REFERER ] = " . $_SERVER['HTTP_REFERER'] . "n"); fwr ite($txtdrop, " [FILE_NAME] = " . $_SERVER['SCRIPT_NAME'] . " - [REQ_URI] = " . $_SERVER['REQUEST_URI'] . "n"); fwrite($txtdrop, '--- -----------**********------------------'."n"); header("HTTP /1.1 406 Not Acceptable"); header("Status: 406 Not Acceptable"); header("Connection: Close"); err( __('你好!请多打一些内容吧!别像是广告! ') );//自定义错误讯息 } } } add_action('init', 'drop_bad_comments'); [/cc]  

有中文字的地方,都是你可以自行增减修改。

评论 (0)

此处尚未发表评论

留言

  1. 以游客身份发表评论。注册登入到您的帐户。
附件 (0/ 3)
分享您的位置