当前位置:论坛首页 > Linux面板 > 讨论

【已完成】通过代理访问bt后台,如何获取真实ip。

发表在 Linux面板2024-5-9 20:56  关闭 [复制链接] 1 115

通过代理访问bt后台,如何获取真实ip。
这样才有安全感啊。
可以针对代理的真实ip,限制访问。

使用道具 举报 只看该作者 回复
发表于 2024-5-9 22:33:19 | 显示全部楼层
搞定了,在panel/class/public.py里面修改下函数
  1. def GetClientIp():
  2.     from flask import request
  3.    
  4.     # 尝试获取X-Forwarded-For头部中的IP地址
  5.     ipaddr = request.headers.get('X-Forwarded-For')
  6.    
  7.     if ipaddr:
  8.         # 如果有多个IP地址,取第一个(最可能是客户端的IP)
  9.         ipaddr = ipaddr.split(',')[0].strip()
  10.     else:
  11.         # 如果X-Forwarded-For头部不存在,使用request.remote_addr
  12.         ipaddr = request.remote_addr
  13.    
  14.     # 移除可能的IPv6前缀
  15.     ipaddr = ipaddr.replace('::ffff:', '')
  16.    
  17.     # 这里可以添加对IP地址的验证逻辑
  18.     if not check_ip(ipaddr): return '未知IP地址'
  19.    
  20.     return ipaddr
复制代码




使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表