使用WordPress建站发现后台会储存文章评论者的IP地址,这个的主要目的是反垃圾评论,比如wordpress自带的Akismet插件,就可以通过IP地址来判定评论者是否是评论垃圾评论。
但是IP地址属于隐私,不记录该IP地址会使得用户更加有安全感。虽然这个方法可以禁止记录IP地址,但是我个人觉得,为了防范不法分子利用,这个功能其实可以保留,国情需要的前提。
代码实现
我们先来看下如何禁止评论记录IP地址,方法很简单,只需要在你的Wordpress博客当前使用主题函数模板 functions.php 中添加以下代码:
add_filter( 'pre_comment_user_ip', 'zm_remove_comments_ip' );
function zm_remove_comments_ip( $comment_author_ip ) {
return '';
}
这样,文章评论者的IP将不再被记录。
插件实现
我们也可以使用一些现成的插件来完成这个功能,比如:Remove IP
这个插件同样能实现上面纯代码的作用,这个插件主要原理是将所有评论者的IP地址替换成127.0.0.1。
add_filter('pre_comment_user_ip', 'pre_comment_anon_ip');
function pre_comment_anon_ip() {
$REMOTE_ADDR = "127.0.0.1";
return $REMOTE_ADDR;
}
以上代码来自Remove IP,对他只有这段代码,你也可以直接放在你的Wordpress博客当前使用主题函数模板 functions.php 中。
当使用以上代码,之后评论者评论的IP地址就没有了。但是有一个问题,在使用以上方法之前的呢?之前的IP地址以及被储存在数据库中。
如果你想删除之前的IP地址,我们可以在当前使用主题函数模板 functions.php 中添加以下代码:
global $wpdb;
$wpdb->query( "UPDATE wp_comments SET comment_author_IP=''" );
添加之后刷新页面,之前已经保存的IP地址就从数据库中移除。注意:这段代码不需要保存在主题中,使用过后即可删除。
另外提醒大家,提前备份好数据库,以免操作过程中失误,这样也可以恢复。