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:i a") . "n"); fwrite($txtdrop, " [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "n"); fwrite($txtdrop, " [REFERER ] = " . $_SERVER['HTTP_REFERER'] . "n"); fwrite($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)
分享您的位置