限制IP访问

本文探讨了在Python后台服务器中如何限制特定IP访问的问题。首先介绍了获取用户真实IP的挑战,由于通常应用部署在代理服务器后,通过HTTP_X_FORWARDED_FOR头可以获取到客户端的真实IP。接着,文章提到了在nginx配置中启用此头的重要性,并给出了uwsgi的nginx配置示例。最后,文章提出了三种限制IP的方法,包括使用防火墙直接限制、条件判断以及在数据库中存储限制IP,建议避免使用数据库方法以节省资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文以python为基础

问题描述

后台服务器如何限制某些特定ip的访问?

问题分析

如果对ip进行限制,那么第一步就必须得到用户的ip,才能进行限制,第二部才是限制

问题解决
得到用户ip

首先,python提供了获取ip的代码语句

ip = request.remote_addr 

但是通过这行代码,我们却得到的不是用户的真是ip,那么是为什么呢?不急,我们下来进行分析。

一般来说,应用程序都部署在nginx或者其他代理服务器上,获取更多层,利用nginx对用户的请求进行分发,而request.remote_addr得到的是上一个节点的ip,因此在后台程序中,我们也得到了nginx服务器的ip,因此并不是客户端的真实ip。

那么如何得到用户的真实ip呢?

python代码如下:

def get_client_ip(request):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值