Some Chinese Please插件可以攔截不帶中文字的留言,效果不錯,不寫入數據庫,可有效地減少spam對服務器的無謂使用,其實可以將插件簡化一下,直接用代碼實現。
將下面代碼加到主題functions模板文件中,效果與使用插件相同。
- /* 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');
注:如果使用的是HotNews主題,請將 wp_die 替換為 err,否則顯示錯誤信息時,會造成模版錯位,其它使用ajax評論的主題也可參照修改。
其它一些寫入數據庫的防spam插件不建議使用, 比如WordPress官方的防垃圾插件Akismet會在數據庫中留下大量的信息,增加服務器負擔。
針對那些使用技術手段,比如GET、POST等方式不填寫前臺表單,直接讀取后臺程序文件的spam,只有屏蔽IP才能緩解瘋狗一樣的攻勢,其它什么驗證碼、滑動解鎖等等都沒用。
可以在.htaccess文件中添加:
- Order Deny,Allow
- Deny from xxx.xxx.xxx.xx
- Deny from xxx.xxx.xxx.xx
禁止某些IP訪問。
評論