wordpress使用CDN后获取访客真实IP

自然 2019年7月27日12:33:50 2

由于用了CDN加速,所以在看wordpress后台评论的时候看到的是CDN的IP而不是访客真是IP,这其实无关紧要。但是最近Limit Login Attempts插件给我发邮件有人试图暴力破解后台密码的时候显示的IP也是CDN的IP,封IP比较麻烦,于是搜索了下找到了解决办法。

wordpress使用CDN后获取访客真实IP

php获取用户真实ip原理

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

让wordpress使用HTTP_X_FORWARDED_FOR获取ip

1.使用notepad++等编辑软件打开wordpress根目录下的wp-config.php文件;

2.在wp-config.php文件的第一个<!--?php标记后面粘贴下面的代码:

  1. if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
  2. {
  3. $list = explode(‘,’,$_SERVER['HTTP_X_FORWARDED_FOR']);
  4. $_SERVER['REMOTE_ADDR'] = $list[0];
  5. }

3.保存修改后的文件;
4.更新您wordpress目录中的wp-config.php文件!

小结

使用CDN后wordpress获取用户真实ip是非常简单地,如果我们使用了服务器防火墙等工具的话,还需要让防火墙服务获取到用户真实ip。大部分waf类产品都是通过读取nginx/apache日志来获取用户ip的,我们只需要让nginx获取到用户真实ip即可,参见《启用CDN后利用ngx_http_realip_module模块获取用户真实IP》和《Nginx环境使用CDN后获取用户真实IP》。

weinxin
网科文媒
快来关注一下,你想要的这里都有喔!
自然

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

    • avatar MAY的SEO博客 0

      我也是用的这种方法