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

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

发表在 Linux面板2024-4-3 12:17 [复制链接] 1 119

目前宝塔获取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[0]
    else:
        ipaddr = request.remote_addr.replace('::ffff:','')
    if not check_ip(ipaddr): return '未知IP地址'
    return ipaddr

使用道具 举报 只看该作者 回复
发表于 2024-4-3 14:24:39 | 显示全部楼层
您好,感谢您的反馈,已记录
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

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

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

紧急问题处理

论坛响应时间:10分钟

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

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

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

立即付费处理
快速回复 返回顶部 返回列表