• 欢迎 游客 您的光临,下载之前请先阅读 积分规则(暂行) 。任何技术问题请在论坛提问,本站定制插件、模板主题售前、售后问题请联系QQ:5916171

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

UID
946
注册
2020/08/13
消息
5
反馈评分
6
黄金
3,678.6G
    Windows 10 Chrome 84.0.4147.125
  • #1
草,老号直接被数据丢失没了,帖子也没了,这里重新发一贴

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];
}
 
UID
33
注册
2017/11/12
消息
55
反馈评分
39
黄金
9,628.9G
    OS X Chrome 88.0.4324.182
  • #2
还要注意nginx或者apache的log日志格式,需要写明这几个变量,我用的nginx ,一开始没有注意,后来才发现,虽然xf的界面的IP是对的,但是后台日志是错的
 
顶部 底部