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

不过开启cdn之后,经常记录下来的就是cdn的代理ip了,后台评论也经常看见都是多个评论的ip都是同一个ip或者在同一ip段。开始以为大家都是有缘人,住的可能挺近的,后来才发现是博客使用了cdn的造成的,下面解决一下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];
}

如果是wordpress,将此段代码添加到wp-config.php中也可实现。