WordPress過濾垃圾評論的幾種主要方法小結
由于個人博客小站的空間與mysql空間往往有限,共享服務器資源也有限,所以垃圾評論一定要攔截在寫入數(shù)據(jù)庫之外。
更可氣的是看到空間的統(tǒng)計,很幾千的IP訪問,但基本上都是這個垃圾評論的IP,所以實在不能忍
網(wǎng)上找了一些方法,主要有三個,如果將這三個一塊使用基本上就可以攔截絕大多數(shù)垃圾評論
一、使用Akismet插件(https://wordpress.org/plugins/akismet/),后臺申請一個免費的key,可以攔截99%的垃圾評論,但是這個插件還是會將垃圾評論寫入數(shù)據(jù)庫的,一會幾千條甚至上萬條垃圾評論,雖說可以設置15天后自動刪除,但是看著也別扭,于是加上第二種方法。
二、更改wp-comments-post.php名稱
這種方法是先將wp-comments-post.php改為隨便的名字,然后在你主題文件的comments.php中將wp-comments-post.php改為你剛才改過的名字
但是現(xiàn)在的spam機器人太強了,這種方法基本上沒有任何作用,垃圾評論還是會進入到后臺的垃圾評論里,于是采取第三種方法,過濾掉純英語的垃圾評論,這種評論占了垃圾評論的很大一部分
三、過濾純英文垃圾評論
在你主題的functions.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');
其中[一-龥]這個正則表達式代表所有中文,這時純英文的垃圾評論算是過濾掉了,但是還有另外一種垃圾評論,日文的……
日文的采用同樣的方法,請幾個常出現(xiàn)的日文假名寫入到正則表達式中ッ、の、ン、優(yōu)、業(yè)、グ、貿
function fuckjp_comment_post( $incoming_comment ) { $http = '/[<|=|.|友|夜|KTV|ッ|の|ン|優(yōu)|業(yè)|グ|貿|]/u'; if(preg_match($http, $incoming_comment['comment_content'])) { wp_die( "日本廣告離開!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'fuckjp_comment_post');
相關文章
destoon利用Rewrite規(guī)則設置網(wǎng)站安全
這篇文章主要介紹了destoon利用Rewrite規(guī)則設置網(wǎng)站安全,需要的朋友可以參考下2014-06-06laravel 數(shù)據(jù)驗證規(guī)則詳解
今天小編就為大家分享一篇laravel 數(shù)據(jù)驗證規(guī)則詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10