觸屏版
全國(guó)服務(wù)熱線:0571-87205688
登錄
注冊(cè)
客戶中心
關(guān)注云客
WordPress貌似和垃圾評(píng)論是一對(duì)“孿生兄弟”,無論在國(guó)內(nèi)還是國(guó)外的空間主機(jī)上搭建的Wordpress博客,無論Wordpress有多少流量多么低的權(quán)重,垃圾評(píng)論都會(huì)自動(dòng)找上門來,假如有好幾天沒有進(jìn)Wordpress后臺(tái)查看的話,當(dāng)你再一次“踏入”時(shí)卻發(fā)現(xiàn)垃圾評(píng)箱已經(jīng)爆滿了。
WordPress垃圾評(píng)論數(shù)量多容易掩蓋正常的讀者評(píng)論,批量刪除垃圾評(píng)論又容易造成誤刪,WordPress垃圾評(píng)論發(fā)布機(jī)器持續(xù)不斷地向網(wǎng)站提交評(píng)論請(qǐng)求,頻率足夠高的話則變演變成一種網(wǎng)站攻擊,配置差一些的網(wǎng)站主機(jī)很有可能因此而運(yùn)行緩慢,嚴(yán)重者造成服務(wù)器宕機(jī),無法正常訪問。
WordPress的垃圾評(píng)論的危害是不言而喻的,對(duì)付Wordpress垃圾評(píng)論不僅要“阻斷”垃圾評(píng)論的發(fā)布,更要提前“阻止”垃圾評(píng)論的提交,要讓垃圾評(píng)論無處可藏,無機(jī)可趁。本文將分享五種Wordpress防止垃圾評(píng)論的方法,如果你正被博客的垃圾評(píng)論所困擾,可以參考文章的方法來解決。
五種Wordpress防止垃圾評(píng)論方法-過濾垃圾評(píng)論提高WP運(yùn)行效率
一、Wordpress自帶的反垃圾評(píng)論設(shè)置
1、作為一個(gè)博客程序,Wordpress實(shí)際上也自帶了一些簡(jiǎn)單的防止垃圾評(píng)論的設(shè)置,如果能夠充分利用好這些功能,就能從Wordpress程序本身達(dá)到一定的反垃圾評(píng)論效果了。
2、用戶必須注冊(cè)并登錄才能發(fā)表評(píng)論。如果選擇了這一項(xiàng),基本上就可以阻止所有的垃圾評(píng)論了。
3、評(píng)論者先前須評(píng)論通過了審核。勾選了這個(gè)的話,第一次在Wordpress發(fā)表評(píng)論的都會(huì)進(jìn)入到審核隊(duì)列中,第二次發(fā)布評(píng)論就會(huì)自動(dòng)顯示出來了。
4、評(píng)論黑名單。當(dāng)評(píng)論的內(nèi)容、評(píng)論者名稱、URL、電子郵件或IP地址中包含其中任何關(guān)鍵字時(shí),系統(tǒng)將自動(dòng)將評(píng)論標(biāo)記為“垃圾評(píng)論”。一行一個(gè)關(guān)鍵字或IP地址。WordPress也會(huì)在詞中匹配關(guān)鍵字,例如“press”亦將匹配“WordPress”。
5、優(yōu)缺點(diǎn)分析:
1、只有注冊(cè)才能發(fā)表評(píng)論功能不適合開啟,否則正常用戶的評(píng)論的熱情也會(huì)下降,但有人研究發(fā)現(xiàn)這樣會(huì)有利WP注冊(cè)用戶的增加。 2、只有之前有通過審核評(píng)論的第二次自動(dòng)顯示出來,對(duì)反垃圾評(píng)論很幫助,建議開啟,但是老用戶如果換了郵箱則又會(huì)當(dāng)新用戶,評(píng)論仍需審核。 3、評(píng)論黑名單功能可以搭配其它的Wordpress反垃圾評(píng)論方法一起使用,它可以起到“查漏補(bǔ)缺”的作用,關(guān)鍵時(shí)候發(fā)揮重要作用。
二、Wordpress智能反垃圾評(píng)論插件:Akismet 和NoSpamNX
1、Akismet 官網(wǎng):
插件地址:http://akismet.com/
2、Akismet是Wordpress官方推薦用的反垃圾評(píng)論插件,是Wordpress自帶的。工作原理是:將留下的評(píng)論用戶記錄提交到一臺(tái)服務(wù)器,服務(wù)器根據(jù)歷史記錄(之前有沒有人把這條評(píng)論標(biāo)記為 Spam),以及一些特定的算法來判斷是不是垃圾評(píng)論。
3、Akismet啟用前需要到Akismet官網(wǎng)獲得一個(gè)序列號(hào)?,F(xiàn)在啟用了Akismet后可以直接在后臺(tái)看到評(píng)論的統(tǒng)計(jì)數(shù)據(jù)。Akismet有一個(gè)好處就是它可以阻止一些已經(jīng)被判定為垃圾評(píng)論者繼續(xù)用你的博客提交評(píng)論。
4、NoSpamNX官網(wǎng):
插件地址:http://wordpress.org/plugins/nospamnx/
5、NoSpamNX反垃圾評(píng)論的方法與Akismet不同,安裝了NoSpamNX插件后,博客評(píng)論框的 name 屬性改成了隨機(jī)數(shù),并添加一個(gè)新的隱藏的評(píng)論框,Spambot發(fā)評(píng)論時(shí)會(huì)把隱藏的評(píng)論框也填滿數(shù)據(jù),而人工評(píng)論不會(huì)是這樣。插件根據(jù)此特征從而Block掉機(jī)器人的垃圾評(píng)論。
6、優(yōu)缺點(diǎn)分析:
1、Akismet優(yōu)勢(shì)在于不僅能對(duì)付機(jī)器人發(fā)布垃圾評(píng)論,也可以阻止一些人工發(fā)布垃圾評(píng)論。但是Akismet存在著誤殺的概率,屏蔽掉的垃圾評(píng)論會(huì)留在數(shù)據(jù)庫,30天后才自動(dòng)刪除。部落發(fā)現(xiàn)Akismet會(huì)導(dǎo)致評(píng)論提交變得更耗時(shí)。 2、NoSpamNX的優(yōu)勢(shì)在于比Akismet更有效率,且不存在誤垃圾評(píng)論的問題,也不會(huì)產(chǎn)生什么數(shù)據(jù)庫記錄。但是NoSpamNX僅僅對(duì)付垃圾評(píng)論機(jī)器人有效果,一些人工垃圾評(píng)論則可能無法阻止。
三、Wordpress評(píng)論人工驗(yàn)證插件:myQaptcha,Fancy Captcha ,SI CAPTCHA
1、WordPress垃圾評(píng)論90%以上都是由機(jī)器人產(chǎn)生的,如果能夠阻止這些機(jī)器人發(fā)布的垃圾評(píng)論,Wordpress反垃圾評(píng)論也就成功了一半了。myQaptcha,Fancy Captcha ,SI CAPTCHA 就是三款用來驗(yàn)證發(fā)表評(píng)論是不是人工的插件。
2、myQaptcha官網(wǎng):
插件地址:http://wordpress.org/plugins/myqaptcha/
3、myQaptcha依據(jù)Qaptcha這個(gè)jQuery開源plugin整合的Wordpress插件,主要作用就是在用戶發(fā)表評(píng)論前需要拖動(dòng)解鎖,機(jī)器人發(fā)表評(píng)論肯定是不能完成這個(gè)動(dòng)作的。
4、Fancy Captcha 官網(wǎng):
插件地址:http://wordpress.org/plugins/wp-fancy-captcha/
5、Fancy Captcha與myQaptcha有點(diǎn)類似,啟動(dòng)插件后,評(píng)論者需要拖動(dòng)指定的小工具到圓環(huán)中才可以發(fā)表評(píng)論。
6、SI CAPTCHA 官網(wǎng):
插件地址:http://wordpress.org/plugins/si-captcha-for-wordpress/
7、SI CAPTCHA Anti-Spam 是一個(gè)WordPress 驗(yàn)證碼插件,可以給注冊(cè)頁面、登錄頁面、找回密碼頁面以及評(píng)論功能等添加驗(yàn)證碼,發(fā)表評(píng)論前必須輸入驗(yàn)證。
8、優(yōu)缺點(diǎn)分析:
1、myQaptcha和Fancy Captcha應(yīng)該是Wordpress反垃圾評(píng)論中用戶體驗(yàn)做得比較好的,發(fā)表評(píng)論前只要?jiǎng)右粍?dòng)鼠標(biāo)就可以了,但是插件可能存在與原有的主題的兼容性問題。
2、SI CAPTCHA Anti-Spam 是一個(gè)功能強(qiáng)大的插件,不僅對(duì)于反垃圾評(píng)論有效果,還可以防止Wordpress惡意注冊(cè)、WP后臺(tái)賬號(hào)暴力破解等,但是難看的數(shù)字常常會(huì)擋住評(píng)論者的“腳步”。
四、Wordpress防止垃圾評(píng)論純代碼法:willin kan的反垃圾評(píng)論代碼
1、willin kan的反垃圾評(píng)論代碼在網(wǎng)上用的人比較多,實(shí)際測(cè)試效果也比較好,特別適用于那些討厭Wordpress插件、喜歡自己折騰WP程序的博主們使用。
2、將以下代碼放到你的主題的function.php中。
// 垃圾評(píng)論攔截
class anti_spam {
function anti_spam() {
if ( !current_user_can('level_0') ) {
add_action('template_redirect', array($this, 'w_tb'), 1);
add_action('init', array($this, 'gate'), 1);
add_action('preprocess_comment', array($this, 'sink'), 1);
}
}
function w_tb() {
if ( is_singular() ) {
ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea>#",
"textarea$1name=$2w$3$4/textarea><textarea name=\"comment\" cols=\"100%\" rows=\"4\" style=\"display:none\"></textarea>",$input);') );
}
}
function gate() {
if ( !empty($_POST['w']) && empty($_POST['comment']) ) {
$_POST['comment'] = $_POST['w'];
} else {
$request = $_SERVER['REQUEST_URI'];
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '隱瞞';
$IP = isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] . ' (透過D理)' : $_SERVER["REMOTE_ADDR"];
$way = isset($_POST['w']) ? '手動(dòng)操作' : '未經(jīng)評(píng)論表格';
$spamcom = isset($_POST['comment']) ? $_POST['comment'] : null;
$_POST['spam_confirmed'] = "請(qǐng)求: ". $request. "\n來路: ". $referer. "\nIP: ". $IP. "\n方式: ". $way. "\n內(nèi)容: ". $spamcom. "\n -- 記錄成功 --";
}
}
function sink( $comment ) {
if ( !empty($_POST['spam_confirmed']) ) {
if ( in_array( $comment['comment_type'], array('pingback', 'trackback') ) ) return $comment;
//方法一: 直接擋掉, 將 die(); 前面兩斜線刪除即可.
die();
//方法二: 標(biāo)記為 spam, 留在資料庫檢查是否誤判.
//add_filter('pre_comment_approved', create_function('', 'return "spam";'));
//$comment['comment_content'] = "[ 判斷這是 Spam! ]\n". $_POST['spam_confirmed'];
}
return $comment;
}
}
$anti_spam = new anti_spam();
3、注意:代碼最后提供了兩種對(duì)付垃圾評(píng)論的辦法,一種是直接阻止評(píng)論,另一種是將垃圾評(píng)論放在Wordpress評(píng)論的待審核隊(duì)列中,默認(rèn)的是第一種,如果你想使用第二種,請(qǐng)給die();加上//,然后去掉“方法二”下面代碼的//符號(hào)。
4、優(yōu)缺點(diǎn)分析:
1、直接使用純代碼就可以達(dá)到Wordpress反垃圾評(píng)論的效果,效率自然要好于使用一些Wordpress插件,這也是為什么不少人喜歡用代碼來代替插件要實(shí)現(xiàn)的功能。
2、willin kan的反垃圾評(píng)論代碼也有可能造成一些誤判,為了最大限度地留住所有人的評(píng)論,我們可以將評(píng)論放在待審核隊(duì)列中,方便我們自己人工來判定。
五、Wordpress防止垃圾評(píng)論純代碼法:阻止全英文和含有日文字符評(píng)論
1、根據(jù)觀察,Wordpress的垃圾評(píng)論中有95%是全英文評(píng)論和含有日文字符的評(píng)論,如果能夠禁止這些評(píng)論的提交,也就基本上達(dá)到了Wordpress防止垃圾評(píng)論的目的了。
2、將以下代碼放入function.php中,就可以阻止全英文的評(píng)論了。
function scp_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
// 禁止全英文評(píng)論
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "You should type some Chinese word (like \"你好\") in your comment to pass the spam-check, thanks for your patience! 您的評(píng)論中必須包含漢字!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'scp_comment_post');
3、將以下代碼放入function.php中,就可以阻止包含任意日文字符的評(píng)論了。
// 禁止日文評(píng)論
function BYMT_comment_jp_post( $incoming_comment ) {
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(preg_match($jpattern, $incoming_comment['comment_content'])){
wp_die( "禁止有日文字符的評(píng)論 You should type some Chinese word" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_jp_post');
4、優(yōu)缺點(diǎn)分析:
1、阻止全英文評(píng)論和含有日文字符的評(píng)論效果是不錯(cuò)的,從部落的使用體驗(yàn)來看,基本上阻止了絕大多數(shù)的Wordpress垃圾評(píng)論,當(dāng)然也一兩個(gè)“漏網(wǎng)之魚”。
2、缺點(diǎn)也很明顯,它會(huì)阻止一些正常的評(píng)論,例如有些技術(shù)性的文章會(huì)用到編程代碼,不會(huì)中文的“國(guó)際友人”等等,在評(píng)論時(shí)都會(huì)遇到無法評(píng)論的情況。
六、Wordpress防止垃圾評(píng)論方法小結(jié)
1、總得來看,Wordpress自帶的反垃圾評(píng)論功能設(shè)置+純代碼防止垃圾評(píng)論是最有效果的,也就是最有效率的,建議采用此方法的朋友先在本地做測(cè)試,防止代碼不兼容導(dǎo)致網(wǎng)站無法訪問。
2、從用戶體驗(yàn)來看,使用SI CAPTCHA 的用戶體驗(yàn)是最差的,而myQaptcha和Fancy Captcha則符合人“懶”的習(xí)慣和越簡(jiǎn)單越好的心理要求,對(duì)正常的評(píng)論者不會(huì)造成太大的影響。
評(píng)論(0人參與,0條評(píng)論)
發(fā)布評(píng)論
最新評(píng)論