7. 如無Referrer請求則禁止發表評論
4 J% o5 w6 }% s& Y9 u2 Y3 J* k5 K4 z7 T% x( h" `0 o4 j
問題:垃圾評論是讓所有博主都頭疼的問題。儘管Akismet能夠幫你應付這些問題,但如果能化被動為主動豈不是更好?以下給出的代碼在wp-comments-post.php被訪問時,會查找referrer(即URL來源頁面)。如果此時存在一個referrer,且為你Blog的URL,那麼就可以發表評論。反之,頁面將會停止載入,而評論也就無法發表了。
# o" |; O& [' Y" L; `" L
; k- R# U- Y9 z, N* [7 K, V1 l8 Z解決方案:要應用此hack的話,直接將以下代碼粘貼到外觀主題的function.php文件中即可。如果外觀主題不含此文件,請自行創建一個。
* }( j% x, E( \! C
" K/ K7 y* F# x* afunction check_referrer() {% Y; u* T& u0 D3 B
if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == 「」) {. Z v* I* _ E( B6 V2 |
wp_die( __('Please enable referrers in your browser, or, if you\'re a spammer, bugger off!') );! Q4 S5 O9 {$ _
}6 E* G- P+ L0 T) R. h G- e
}
" G7 X8 I1 q8 i- C) cadd_action('check_comment_flood', 'check_referrer'); |
|