wordpress技巧

我们知道一旦你使用CDN加速你的网站后,您的访客的IP地址都将被记录为CDN服务器的IP地址,虽然有些人不会介意,也不会造成非常大的错误,但是,还是有其不便之处,比如说,你的访客在你的博客上评论的时候,所有的留言者的IP都是同一个!那么问题就来了!假如你安装了防垃圾评论插件,那么所有的评论可能都会被视为垃圾评论!

我们的wordpress是使用"REMOTE_ADDR"这个函数来获取访客的IP地址的,那么只要我们将获取的函数替换成"HTTP_X_FORWARDED_FOR",一般就可以了!

网络上有一段代码:

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
{
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
将这段代码添加到wp-config.php文件的头部就可以了!

对于使用Cloudflare或者Incapsula的CDN的博客来说,它们有方便的插件可以使用,但是本质上它们也是在wordpress添加这个函数的!但是国内的CDN服务商没有类似的插件可以使用,所以,我们只好使用上面的代码了!

更多的详细情况,可以参考下面的地址:

http://www.freehao123.com/cdn-ip/

http://biergaizi.info/archives/2011/08/894.html

当前共有 5 条评论 发表在 “使用CDN后如何获取访客的真实IP”

  1. chonghua

    chonghua

    对于WordPress只要把下面的代码放到wp-config.php文件的最后就可以了!
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注