7. 如無Referrer請求則禁止發表評論
% h0 v0 T" M8 s1 @* F, I, y( u
' h1 m) P# s w. ]問題:垃圾評論是讓所有博主都頭疼的問題。儘管Akismet能夠幫你應付這些問題,但如果能化被動為主動豈不是更好?以下給出的代碼在wp-comments-post.php被訪問時,會查找referrer(即URL來源頁面)。如果此時存在一個referrer,且為你Blog的URL,那麼就可以發表評論。反之,頁面將會停止載入,而評論也就無法發表了。 _- _2 ^* B8 j. c, k4 t! u- e
5 Q1 D4 V4 }/ F$ Y1 K' L; h, j! Q! }
解決方案:要應用此hack的話,直接將以下代碼粘貼到外觀主題的function.php文件中即可。如果外觀主題不含此文件,請自行創建一個。4 _" f. b) |. N, O: t8 z+ p# V
: ` n# s& b# ~5 L+ b" jfunction check_referrer() {
+ R7 h0 \. i4 e& @if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == 「」) {
3 w4 Q9 g" v$ b7 F; p% ?wp_die( __('Please enable referrers in your browser, or, if you\'re a spammer, bugger off!') );0 F1 k2 U2 c% q9 R3 V/ y
}$ X V( y* J; ~4 i- s4 I/ W
}
* x, \! N1 N$ c2 e; u" Oadd_action('check_comment_flood', 'check_referrer'); |
|