Typecho/WordPress开启CDN后获取真实请求IP

添加 Cloudflare CDN 后,评论 IP 显示的是 Cloudflare CDN 的代理 IP 而不是访客真实 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了。

点赞

发表评论

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