Typecho 使用CDN后无法记录访客真实IP

Typecho 使用CDN后无法记录访客真实IP

shunhang 315 2022-03-18

Typecho 在用户评论时会记录其访问 ip 地址。

不过开启 CDN 之后,经常记录下来的就是 CDN 的代理 IP 了,后台评论看到了很多一样的IP地址

后来才发现是 CDN 的 IP,差点就删除了这些评论了,那么如何解决 Typecho 使用 CDN 后不显示访客真实 IP 地址呢?

解决方法

在Typecho站点根目录里找到 config.inc.php 文件 添加下面这段代码:

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

保存之后就可以获取到用户真实的IP了