当前位置:首页 > WordPress教程 > 正文

解决WordPress开启CDN后评论IP不正确的办法

小幻最近评论被人通过多说和WP的评论接口 POST攻击评论了,可以WORDPRESS的防住了,多说的却没有任何头绪。于是一气之下直接关掉了多说。无聊又添加了UA显示(多说原因,以前的都出了问题)、邮件提醒这些功能。

可是每次发送的时候都感觉不对劲,给我发过来的E-mail显示的IP都是一个IP,看了下,发现原来……都是一个IP地址。仔细一想,原来是我的CDN的问题。

ip

只是简单的这个还没有事情,只是,WordPress内有评论IP拦截等等这些功能,不能都拦截了。

百度一下,发现了一个好的方法。只要添加一段代码,IP地址就可以正常了,其实CDN在头部应该有把访问者IP发送的,那段代码就是把wordpress的ip中变量换成$_SERVER获取的。这个可以用在任意CDN和反代里面,IP地址可以获取正确的,但是如果你想我的对方用过VPN、代理、ss……后的本机原始IP可以使用js获取,这个以后会有介绍的。

好了唠叨了那么多,还是上点干货吧。

在WordPress安装根目录下面wp-config.php文件,打开后,在其内添加下面代码:

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
  $_SERVER['REMOTE_ADDR'] = $list[0];
}

再用SS,发了个评论,看了下IP地址,换成了VPS的地址了,当然我的IP识别也正常了!

ua

再次庆祝一下自己咯,虽说备案好了,搜索引擎还一直没恢复,不过IP却已经过百了,不错了。

标签:
上一篇: 下一篇:

9 条评论

评论加载中...
  1. 5楼
    来自天朝的朋友 火狐浏览器 Windows 10
    憧憬Licoy  

    加入进去了,然后没什么效果

    2016年3月14日 17:39 评论
    • 小幻  

      …除非你的CDN直接转走了客户端IP

      2016年3月27日 17:09 评论
      • 我的接口参数是HTTP_X_REAL_IP,使用HTTP_X_FORWARDED_FOR是木有用的。

        2016年3月27日 17:11 评论
  2. 4楼
    来自天朝的朋友 谷歌浏览器 Windows 7
    科学上网  

    很有用的分享 感谢

    2015年7月7日 23:18 评论
  3. 地板
    来自天朝的朋友 谷歌浏览器 Windows 7
    cy  

    2015年5月11日 00:02 评论
  4. 板凳
    这家伙可能用了美佬的代理 谷歌浏览器 Windows 7
    锋子  

    咦……你又活啦,话说你前段时间关站备案啦?

    2015年5月5日 11:45 评论
    • 幻殺あ殤璃  

      嗯,备案居然必须关站,连搜索引擎都不让留……

      2015年5月5日 12:33 评论
  5. 沙发
    来自天朝的朋友 谷歌浏览器 Windows XP
    BOKE123  

    果然很强大,就一条代码就搞定了,厉害

    2015年5月4日 09:18 评论
    • 幻殺あ殤璃  

      都是被逼的……

      2015年5月4日 13:16 评论

发表评论

不理你。不要啊!吃饭。吃惊。吃西瓜。飞吻!恭喜!Hi纠结!膜拜!OK抛媚眼。泡泡糖。抛钱。忍!生闷气!调皮。偷看。委屈。献花。疑问?抓狂!

小提示:Ctrl+Enter快速提交助您一臂之力~
加载中……