wordpress

让wordpress正确记录访客IP地址

这两天blog恢复,兴奋之余,发现,访客的留言ip都是proxy的地址,而不是真实的ip地址,于是打印了一下$_SERVER信息,看到$_SERVER[‘REMOTE_ADDR’]本应该是访客ip的,结果却变成了proxy的地址,这个不是我们需要,同时发现在$_SERVER中包含了HTTP_X_FORWARDED_FOR字段,而且wordpress使用的是REMOTE_ADDR字段值,那就好办了,使用如下代码,就可以将真是的访客地址拿到

if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’]))
{
$list = explode(‘,’,$_SERVER[‘HTTP_X_FORWARDED_FOR’]);
$_SERVER[‘REMOTE_ADDR’] = $list[0];
}

把上面这段代码加入到wp-config.php的开头部分就可以了

因为X-Forwarded-For头的记录格式是:client1,proxy1,proxy2,所以在上面的代码中我们取的是第一个值。

参考:http://www.onono.org/2009/07/181.htm

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *