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'];

    回复

发表评论

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