宝塔用户_xqkyxk 发表于 2024-4-3 12:17:15

【已记录】宝塔登陆时获取IP的功能建议

目前宝塔获取IP的函数为GetClientIp,使用的request.remote_addr,如果进行了反向代理,不能获取到真实的IP。建议进行改造

以下为示例代码

def GetClientIp():
    from flask import request
    x_forwarded_for = request.headers.getlist('X-Forwarded-For')
    if x_forwarded_for:
      ipaddr = x_forwarded_for
    else:
      ipaddr = request.remote_addr.replace('::ffff:','')
    if not check_ip(ipaddr): return '未知IP地址'
    return ipaddr

堡塔运维南一 发表于 2024-4-3 14:24:39

您好,感谢您的反馈,已记录
页: [1]
查看完整版本: 【已记录】宝塔登陆时获取IP的功能建议