为Aksimet添加一个白名单(Whitelist)

可岛可薇同学在偶Blog留言很不顺利;几乎每次都被Aksimet判定为Spam … 对于偶们这些使用国外空间的Wordpresser, Aksimet是最佳的垃圾评论拦截工具,由于是国外虚拟主机,Aksimet可以连接到服务器(不会受到GFW阻碍),Spam识别率很高.(偶Blog自去年3月创建共拦截了1500个Spam) Aksimet不得不用,但索可岛可薇同学无法留言问题又必须解决.我考虑为Aksimet添加一个白名单(Whitelist).研究了一下,如下 WordPress后台插件编辑器,打开Aksimet插件目录下akismet.php文件. 首先在php文件最上面创建一个白名单: $comments_mail_whitelist = array(“[email protected]”,”[email protected]”); 为了省事,创建一个数组而已. 存储评论者的Email 看一下这个php文件,关键这句: add_action(‘preprocess_comment’, ‘akismet_auto_check_comment’, 1); 添加了一个preprocess_comment的钩子,用于提交评论时进行审核. 遂定位到 akismet_auto_check_comment 函数 function akismet_auto_check_comment( $comment ) { $comment[‘user_ip’] = preg_replace( ‘/[^0-9., ]/’, ”, $_SERVER[‘REMOTE_ADDR’] ); $comment[‘user_agent’] = $_SERVER[‘HTTP_USER_AGENT’]; $comment[‘referrer’] = $_SERVER[‘HTTP_REFERER’]; $comment[‘blog’] = get_option(‘home’); $ignore = array( ‘HTTP_COOKIE’ ); foreach ( $_SERVER as $key => $value ) […]

Continue reading