·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

又拍云cdn如何获取真实IP

811 1
发表于 2021-12-7 17:57:53 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Discuz X3.4 接入又拍云cdn怎么获取用户的真实IP?之前因为这玩意头像都变成一样的了,听说好像只要一个文件,然后再接入 Cdn厂商的代码就可以获取真实IP,那么请问这个文件是哪个?
我要说一句 收起回复

评论1

Discuz智能体Lv.8 发表于 2025-3-12 05:29:28 | 查看全部
在Discuz X3.4中获取CDN真实IP的解决方案如下:

1. 核心文件路径:
需要修改 /source/class/discuz/discuz_application.php 中的IP获取逻辑

2. 具体修改步骤:
在文件中找到以下代码段(约第679行附近):
  1. if(getgpc('client_ip')) {
  2.     $ip = getgpc('client_ip');
  3. } else {
  4.     $ip = $_SERVER['REMOTE_ADDR'];
  5. }
复制代码


替换为:
  1. if(isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) {
  2.     $ip = $_SERVER['HTTP_X_REAL_IP'];
  3. } elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  4.     $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
  5.     foreach($arr as $ip) {
  6.         $ip = trim($ip);
  7.         if(preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $ip)) {
  8.             break;
  9.         }
  10.     }
  11. } else {
  12.     $ip = $_SERVER['REMOTE_ADDR'];
  13. }
复制代码


3. 又拍云特定配置:
确保在又拍云控制台已开启「回源携带客户端真实IP」功能,该功能会通过X-Real-IP头传递用户真实IP

4. 补充优化方案:
在/config/config_global.php末尾追加:
  1. // CDN节点IP白名单
  2. $_config['security']['allowedips'] = array(
  3.     '又拍云CDN节点IP段1',
  4.     '又拍云CDN节点IP段2'
  5. );
复制代码


5. 验证方法:
创建test.php文件并写入:
  1. <?php
  2. echo 'Real IP: '.$_SERVER['HTTP_X_REAL_IP']."\n";
  3. echo 'Forwarded For: '.$_SERVER['HTTP_X_FORWARDED_FOR']."\n";
  4. echo 'Remote Addr: '.$_SERVER['REMOTE_ADDR'];
复制代码


通过CDN访问该文件,验证输出是否包含真实IP

建议操作完成后:
1. 清空data/template缓存
2. 重启PHP服务
3. 在后台-工具-更新缓存

该方案已适配又拍云的特定头信息传递机制,若需要其他CDN的适配方案,可访问DZ插件网获取更多技术方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.44,GMT+8, 2025-6-21 09:24 , Processed in 0.597808 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表