《PHP實例:WordPress過濾垃圾評論的幾種主要方法小結》要點:
本文介紹了PHP實例:WordPress過濾垃圾評論的幾種主要方法小結,希望對您有用。如果有疑問,可以聯系我們。
由于個人博客小站的空間與mysql空間往往有限,共享服務器資源也有限,所以垃圾評論一定要攔截在寫入數據庫之外.PHP學習
更可氣的是看到空間的統計,很幾千的IP訪問,但基本上都是這個垃圾評論的IP,所以實在不能忍PHP學習
網上找了一些方法,主要有三個,如果將這三個一塊使用基本上就可以攔截絕大多數垃圾評論PHP學習
一、使用Akismet插件(https://wordpress.org/plugins/akismet/),后臺申請一個免費的key,可以攔截99%的垃圾評論,但是這個插件還是會將垃圾評論寫入數據庫的,一會幾千條甚至上萬條垃圾評論,雖說可以設置15天后自動刪除,但是看著也別扭,于是加上第二種方法.PHP學習
二、更改wp-comments-post.php名稱PHP學習
這種方法是先將wp-comments-post.php改為隨便的名字,然后在你主題文件的comments.php中將wp-comments-post.php改為你剛才改過的名字PHP學習
但是現在的spam機器人太強了,這種方法基本上沒有任何作用,垃圾評論還是會進入到后臺的垃圾評論里,于是采取第三種方法,過濾掉純英語的垃圾評論,這種評論占了垃圾評論的很大一部分PHP學習
三、過濾純英文垃圾評論PHP學習
在你主題的functions.php中添加以下代碼PHP學習
function refused_spam_comments( $comment_data ) { $pattern = '/[一-]/u'; if(!preg_match($pattern,$comment_data['comment_content'])) { wp_die('評論必須含中文!'); } return( $comment_data ); } add_filter('preprocess_comment','refused_spam_comments');
其中[一-]這個正則表達式代表所有中文,這時純英文的垃圾評論算是過濾掉了,但是還有另外一種垃圾評論,日文的……PHP學習
日文的采用同樣的方法,請幾個常出現的日文假名寫入到正則表達式中ッ、の、ン、、I、グ、QPHP學習
function fuckjp_comment_post( $incoming_comment ) { $http = '/[<|=|.|友|夜|KTV|ッ|の|ン||I|グ|Q|]/u'; if(preg_match($http, $incoming_comment['comment_content'])) { wp_die( "日本廣告離開!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'fuckjp_comment_post');
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/5704.html