迎風别葉index
心明若鏡,不將不迎

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];
}
      注:本站 所有文章若无特殊说明,版权均归 迎風别葉index 所有,请在征得站长同意后转载,转载请注明来源。

评论 6

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

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

    无人小站4个月前 (08-27)回复
  2. #3

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

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

      迎風别葉index4个月前 (08-28)回复
  3. #2

    谢谢分享

    森纯博客6个月前 (06-17)回复
  4. #1

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

    迎風别葉index8个月前 (05-01)回复