Typecho 配置 CloudFlare CDN 后获取用户真实 IP

问题来源

网站在使用CloudFlare CDN服务后,有时候会无法获取到用户访问的真实IP,而导致UserAgent插件无法查询正确的用户IP信息。

解决思路

通过PHP超全局变量 $_SERVER['REMOTE_ADDR'] 获得的IP全部是CDN节点的IP,这样会影响一些功能的使用。这种情况下可以使用PHP超全局变量 $_SERVER['HTTP_X_FORWARDED_FOR'] 来获取访问者真实IP。

食用指南

请在 Typecho 站点根目录里的 config.inc.php 添加下面这段代码

/** 获取用户真实IP */
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
{
    $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
    $_SERVER['REMOTE_ADDR'] = $list[0];
 }

引用资源:网站开启CDN后获取访问者真实IP

松鼠大大

我还没有学会写个人说明!

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐

Typecho折腾小笔记

一、使Typecho支持emoji表情 !> Typecho默认不支持emoji表情,其实不是程序的锅,而是由于编码的问题,只需要将默认 ...

微信扫一扫,分享到朋友圈

Typecho 配置 CloudFlare CDN 后获取用户真实 IP