WordPress使用CDN加速后不能获取访客真实IP的解决办法

网站使用了CDN加速后,一是可以给用户带来最快的浏览体验,二来是可以保护源站,但是使用CDN加速也暴露了一些小问题,在看WordPress后台评论的时候,看到的IP都是CDN的IP而不是访客真实IP。例如:网站使用了百度云加速后,后台评论以及重置密码发送的邮件通知都是百度云加速节点的IP,而非访客的真实IP。那么如果遇到有人恶意评论、恶意发邮件试图暴力破解后台密码的时候,总不能直接拦截掉CDN的节点IP吧。那么启用CDN后怎么显示访客真实IP呢?百度到了一段代码,建议收藏

打开站点跟目录/wp-config.php文件,添加代码到文件的第一个<?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文件即可!(代码来源于网络)

同理,如果使用的是Typecho ,将此段代码添加到config.inc.php 中即可。

原理分析

WordPress是使用”REMOTE_ADDR”这个函数来获取访客的IP地址的,所以我们只需要将获取的函数替换成”HTTP_X_FORWARDED_FOR”就可以了。

版权声明:
作者:蓝逸轩
链接:https://www.12xf.cn/209.html
来源:星锋网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>