7. 如無Referrer請求則禁止發表評論
1 u8 N4 H1 m# D
& T* y, P# P5 I* o問題:垃圾評論是讓所有博主都頭疼的問題。儘管Akismet能夠幫你應付這些問題,但如果能化被動為主動豈不是更好?以下給出的代碼在wp-comments-post.php被訪問時,會查找referrer(即URL來源頁面)。如果此時存在一個referrer,且為你Blog的URL,那麼就可以發表評論。反之,頁面將會停止載入,而評論也就無法發表了。
7 O6 S# C I* \# w9 q
0 [: G0 J# S+ \# u解決方案:要應用此hack的話,直接將以下代碼粘貼到外觀主題的function.php文件中即可。如果外觀主題不含此文件,請自行創建一個。
8 g7 {" N0 K' W) s! J3 j. p
9 @2 Q4 a3 \: U# @5 afunction check_referrer() {
3 Y7 W2 W7 E9 _: d0 Wif (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == 「」) {! L$ m' \3 ?+ B/ [5 b4 I
wp_die( __('Please enable referrers in your browser, or, if you\'re a spammer, bugger off!') );8 ~; X2 U9 b. S
}8 W! _. H) A. s/ T3 R* v
}
7 q5 Y9 Z4 c4 L% fadd_action('check_comment_flood', 'check_referrer'); |
|