gpt4 book ai didi

python - 如何只允许从指定的 IP 访问 App Engine?

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:03 25 4
gpt4 key购买 nike

我正在使用 Python 在 GAE 上构建一个简单的 POST 处理程序,它将接受 POST 并将其写入 Cloud SQL 数据库。

我想将对此应用程序的访问限制为有限数量的 IP - POST 发起的非 GAE 网络服务器。 本质上,如何允许来 self 的 IP 的 POST 并禁止所有其他流量?

看似简单通用的操作,但是网上一直没有找到貌似合适的解决方案。大多数 GAE 身份验证和路由包都是围绕用户身份验证构建的。

我应该在哪里寻找解决方案?我应该使用哪些 Google 关键字?这是要写入应用程序本身还是我应该专注于 GCP 的另一个组件以进行 IP 访问和路由?

谢谢!

最佳答案

全部归功于Paul Collingwood提醒我 request.remote_addr 的存在。

这是我目前的解决方案:

ALLOWED_IP = ['173.47.xx.xx1', '173.47.xx.xx2']

class PostHandler(webapp2.RequestHandler):
def post(self):

# Read the IP of the incoming request
ip = self.request.remote_addr

# If the IP is allowed, execute our code
if ip in ALLOWED_IP:
# Execute some awesome code

# Otherwise, slam the door!
else:
self.error(403)

我不完全确定我的 self.error() 用法在这里是否合适,但这确实有效!接受并执行从允许的 IP 发出的 POST 请求。所有其他人都会得到 403。

我总是渴望听到改进建议。

关于python - 如何只允许从指定的 IP 访问 App Engine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33897399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com