宝塔51特惠活动,企业版1099元/年,送SSL证书,最高立减2万元!查看活动
当前位置:论坛首页 > Linux面板 > 求助

【已完成】python 项目,如何获取访客真实ip

发表在 Linux面板2023-4-7 18:13 [复制链接] 2 2937

无论是从【网站】-【python项目】 里创建,flask项目。
还是利用,商店里的【python项目管理器】创建flask项目。

都需要使用反向代理,来访问python flask这样的web项目。
这样一来,我的flask项目,获得到的访客ip都是,127.0.0.1.

想请教下,各位老师,我该如何操作。能让flask项目获得访客真实ip,谢谢。

网上搜的内容说

set_real_ip_from 0.0.0.0/0;
    real_ip_header X-Forwarded-For;

不知道,具体怎么使用。
使用道具 举报 只看该作者 回复
发表于 2023-4-7 18:48:00 | 显示全部楼层
您好,在Flask中获取访客的真实IP地址可以使用request.remote_addr,但是在有些情况下可能会出现获取到的IP地址不是真实的情况,因为有些代理服务器或者CDN会修改HTTP头部信息,从而导致获取到的是代理服务器或CDN的IP地址而不是访客的真实IP地址。
为了解决这个问题,可以通过获取HTTP头部中的X-Forwarded-For字段来获取访客的真实IP地址,X-Forwarded-For字段通常是由代理服务器或CDN添加的,它包含了访客的真实IP地址和之前的代理服务器或CDN的IP地址。以下是一个获取访客真实IP地址的示例代码:
  1. from flask import Flask, request
  2. app = Flask(__name__)
  3. @app.route('/')
  4. def index():
  5.     ip = request.headers.get('X-Forwarded-For', request.remote_addr)
  6.     return f'Your IP address is {ip}'
  7. if __name__ == '__main__':
  8.     app.run()
复制代码
使用道具 举报 回复 支持 反对
发表于 2023-4-7 19:23:06 | 显示全部楼层
堡塔运维盏尽 发表于 2023-4-7 18:48
您好,在Flask中获取访客的真实IP地址可以使用request.remote_addr,但是在有些情况下可能会出现获取到的IP ...

好的,谢谢老师。
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

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

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

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析
快速回复 返回顶部 返回列表