food.x 发表于 2024-5-9 20:56:45

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

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

food.x 发表于 2024-5-9 22:33:19

搞定了,在panel/class/public.py里面修改下函数
def GetClientIp():
    from flask import request
   
    # 尝试获取X-Forwarded-For头部中的IP地址
    ipaddr = request.headers.get('X-Forwarded-For')
   
    if ipaddr:
      # 如果有多个IP地址,取第一个(最可能是客户端的IP)
      ipaddr = ipaddr.split(',').strip()
    else:
      # 如果X-Forwarded-For头部不存在,使用request.remote_addr
      ipaddr = request.remote_addr
   
    # 移除可能的IPv6前缀
    ipaddr = ipaddr.replace('::ffff:', '')
   
    # 这里可以添加对IP地址的验证逻辑
    if not check_ip(ipaddr): return '未知IP地址'
   
    return ipaddr



页: [1]
查看完整版本: 【已完成】通过代理访问bt后台,如何获取真实ip。