• 欢迎 游客 您的光临,下载之前请先阅读 积分规则(暂行) 。任何技术问题请在论坛提问,本站定制插件、模板主题。售前、售后问题请联系QQ:5916171
  • 发帖需要扣除两点虚拟积分是为了控制乱发广告,如不便可进群提问。点击链接加入群聊【XenForo讨论社区】:群号1:143277648

技巧教程 使用CDN后获取真实IP的方法

黄金
4,042G
草,老号直接被数据丢失没了,帖子也没了,这里重新发一贴

1.首先查看你的 CDN 的文档,看看有没有带真实 IP 的请求头,一般都有 X_FORWARDED_FOR 这个请求头,或者看看有没有类似的
2.如果有 X_FORWARDED_FOR 这个请求头
3.在 src/config.php 里面写入


PHP:
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}

4.如果有 X-Real-IP 请求头
PHP:
if (isset($_SERVER['HTTP_X_REAL_IP']))
{
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
}

其他请求头如法炮制

或者使用
PHP:
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
  $_SERVER['REMOTE_ADDR'] = $list[0];
}
 
黄金
16,664G
还要注意nginx或者apache的log日志格式,需要写明这几个变量,我用的nginx ,一开始没有注意,后来才发现,虽然xf的界面的IP是对的,但是后台日志是错的
 
顶部 底部