我正在Python中的GAE上构建一个简单的POST处理程序,它将接受POST并将其写入Cloud SQL数据库。
我想将此应用的访问权限限制为有限数量的IP - POST来自的非GAE网络服务器。 基本上,如何从我的IP中允许POSTS并禁止所有其他流量?
看起来像一个简单而常见的操作,但我还没有找到适合的在线解决方案。大多数GAE身份验证和路由包都是围绕用户身份验证构建的。
我应该在哪里寻找解决方案?我应该使用哪些Google关键字?这是应该写入应用程序本身还是应该专注于GCP的另一个组件以进行IP访问和路由?
谢谢!
答案 0 :(得分:1)
所有归功于Paul Collingwood,提醒我存在request.remote_addr。
这是我现在的解决方案:
E11000 duplicate key error index
我不完全确定我的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)
用法在这里是合适的,但这是有效的!从允许的IP发出的POST请求被接受并执行。所有其他人都给了403.
我总是渴望听到改进建议。