yingfeng
心明若鏡,不將不迎

WordPress 在使用CDN后获取正确访客 ip

总会有这样或者那样的原因导致站长们使用CDN。比如说主机带宽较小、亦或者性能不足,被DDoS,被CC攻击等。但是Wordpress在使用CDN后会有一个问题:你在后台看到访客ip都是CDN的ip。

除了无法判断游客的地址这种无伤大雅的问题之外,如果有使用一些防止垃圾评论的插件之类的话,会导致误伤。可能会导致整个地区无法在博客上评论。所以我们需要对Wordpress做点“小手术”。

  • 经过查找资料发现Wordpress是通过“REMOTE_ADDR”这个函数来获取访客ip的,我们只需要把这个函数替换成“HTTP_X_FORWARDED_FOR”就行了。

方法:

在wp-config文件尾加入以下代码就可以了

//使用CDN后获取访客ip

//使用CDN后获取访客ip
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
	$list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
	$_SERVER['REMOTE_ADDR'] = $list[0];
}

本文发布于:yingfeng Blog>>WordPress 在使用CDN后获取正确访客 ip,转载请注明出处。

评论 9

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    – -没有用怎么办

    jason4年前 (2020-07-07)回复
    • 我现在不用CDN了,理论上这个方法是有用的呀

      yingfeng4年前 (2020-07-11)回复
    • 另外,这个教程可以说是烂大街了,大家都可以啊。。。是不是你有安装php缓存插件?那么要等一会才会生效

      yingfeng4年前 (2020-07-11)回复
  2. #0

    加了果然好了,但是也没用到过2333

    无人小站7年前 (2017-08-27)回复
  3. #0

    之前倒是挺多垃圾评论的但是加了禁止不含中文评论不通过的函数之后就没出现过广告的,你不说我还真没怎么注意评论ip,我去试试

    无人小站7年前 (2017-08-27)回复
    • 辣鸡评论真的很无奈 (╯‵□′)╯︵┴─┴
      只有换程序才是完美的解决方法

      yingfeng7年前 (2017-08-28)回复
  4. #0

    谢谢分享

    森纯博客7年前 (2017-06-17)回复
  5. #0

    话说我记得这个我发过啊 = = 懵逼.jpg

    yingfeng7年前 (2017-05-01)回复