WordPress垃圾迴響一直都是比較煩人的,如果你沒有采用有效的攔截方式,你會發現,僅僅一天時間,你的WordPress站點就會有數以萬計的垃圾迴響!那麼,如何有效地攔截過濾垃圾迴響?
之前已經介紹瞭不少方法,一起回顧一下:
WordPress代碼將垃圾迴響拒之門外
這是一直在用的方法,可以過濾絕大多數垃圾迴響,當然,是不是會有幾個漏網之魚,推薦使用。
WordPress自動拒絕包含特定關鍵詞的垃圾迴響
WordPress防垃圾迴響外掛:Akismet
Akismet雖然很強大,效果很好,但是會寫入很多數據庫信息,而且很好 CPU 資源,所以很早前就不用瞭。
WordPress 迴響過濾外掛:wp-itluren-comment-filter
WordPress垃圾迴響過濾可以以昵稱 IP 郵箱 網址 內容片斷為根據指定迴響人員黑名單,並阻止他們提交迴響。同時,迴響次數超過設定的范圍就會暫時禁止迴響。當然,還將全英文、全部復制文章內容作為內容的迴響進行過濾。最後為瞭安全起見,還提供瞭禁止特定IP用戶訪問站點!
WordPress 驗證碼外掛:SI CAPTCHA Anti-Spam
WordPress 文章迴響滑動解鎖外掛:myQaptcha
使用驗證碼過濾迴響也是一種不錯的方法,但是不太利於用戶體驗。
由於絕大多數的垃圾迴響都是英文的,所以國內不少朋友在使用 Some Chinese Please 外掛,它可以有效地攔截內容中不帶有中文字的comment和trackback(pingback),不寫入數據庫中,可有效地減小spam對blog服務器的無謂使用。雖然已經 2 年多沒有更新,但還是可用的。
其實還可以簡化下,直接將下面的代碼添加到主題的 functions.php 文件,效果與使用 Some Chinese Please 外掛相同:
1 2 3 4 5 6 7 8 9 |
/* refused spam */ function refused_spam_comments( $comment_data ) { $pattern = '/[一-龥]/u'; if(!preg_match($pattern,$comment_data['comment_content'])) { err('迴響必須含中文!'); } return( $comment_data ); } add_filter('preprocess_comment','refused_spam_comments'); |
/* refused spam */
function refused_spam_comments( $comment_data ) {
$pattern = ‘/[一-龥]/u’;
if(!preg_match($pattern,$comment_data[‘comment_content’])) {
err(‘迴響必須含中文!’);
}
return( $comment_data );
}
add_filter(‘preprocess_comment’,’refused_spam_comments’);
源代碼:http://www.kuqin.com/zhanz/20120326/319460.html,原代碼使用wp_die函數顯示錯誤HTML信息,會造成模版錯位,由 @知更鳥 http://zmingcx.com/refused-spam.html 稍改進。
@Teddysun http://teddysun.com/ 經過實測反饋,Wordpress中並沒有err這個函數(這個函數也許是存在於 @知更鳥 的主題裡)。因此不會有提示信息出現。最好還是用wp_die函數,這樣就會有提示信息。所以,上面的代碼如果不生效,可以使用以下代碼:
1 2 3 4 5 6 7 8 9 |
/* refused spam */ 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'); |
/* refused spam */
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’);
方法進階:WordPress迴響中禁止或必須包含指定內容
針對那些使用技術手段,比如GET、POST等方式不填寫前臺表單,直接讀取後臺程式文件的spam,隻有屏蔽IP才能緩解瘋狗一樣的攻勢,其它什麼驗證碼、滑動解鎖等等都沒用。
可以在.htaccess文件中添加:
1 2 3 |
Order Deny,Allow Deny from xxx.xxx.xxx.xx Deny from xxx.xxx.xxx.xx |
Order Deny,Allow
Deny from xxx.xxx.xxx.xx
Deny from xxx.xxx.xxx.xx
禁止某些IP訪問。
好瞭,希望本文能為你提供幫助,如果你還知道其他更有效的方法,歡迎和我們一起分享!