总是忘了 CDN 后评论用户的真实IP地址获取问题

长期以来总是疏忽了评论用户真实IP地址的问题,直到今天碰到了垃圾机器评论,想直接通过IP屏蔽的是后才发现其显示的IP竟然是 CDN 节点的IP地址,这时才想起来因为升级更新到了 Typecho 开发版【本博客正式升级到 Typecho 开发版 1.1 (17.4.24)】,没有加入评论用户真实IP地址获取的代码,囧呀!!!

198.jpg

关于这个获取 CDN 后真实评论用户IP地址的代码在 Typecho 和 WordPress 上都是通用的,分别放到 Typecho 的config.inc.php 和 WordPress 的 wp-config.php 里即可。如下代码:

//防止 CDN 造成无法获取客户真实IP地址
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
{
    $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
    $_SERVER['REMOTE_ADDR'] = $list[0];
}

你还别说这个“真实IP”有的时候还是很重要的,特别是应对垃圾评论机器人的时候还是很有用的。

最后修改:2017 年 08 月 24 日 04 : 45 PM
如果觉得我的文章对你有用,请随意赞赏

8 条评论

  1. 淘福利啦

    这个直接放在wp-config.php就可以了嘛?

    1. 明月登楼
      @淘福利啦

      嗯, WordPress 的话直接发到wp-config.php里就可以了!你可以通过查看评论显示的IP来判断是否生效!

  2. 皮特儿

    不错,过来看看,真是IP有时候还是很有用处的!

    1. 明月登楼
      @皮特儿

      确实,垃圾评论机器人的IP基本都是固定的,所以只要屏蔽掉IP就基本上干掉了!

  3. boke112导航

    这个方面真的很少关注到,评论者IP很少关注,屏蔽垃圾我都是通过昵称、邮箱、网址、关键词来

    1. 明月登楼
      @boke112导航

      有时候IP还是很直接有效的!

  4. 薅羊毛

    ZBLOG的怎么办

    1. 明月登楼
      @薅羊毛

      这个不清楚了,没有用过ZBlog呀!

发表评论