Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何仅允许从指定的IP访问App Engine?_Python_Google App Engine_Authentication - Fatal编程技术网

Python 如何仅允许从指定的IP访问App Engine?

Python 如何仅允许从指定的IP访问App Engine?,python,google-app-engine,authentication,Python,Google App Engine,Authentication,我正在用Python在GAE上构建一个简单的POST处理程序,它将接受POST并将其写入云SQL数据库 我想将此应用程序的访问权限限制在发帖的IP-非GAE Web服务器的有限数量上从本质上讲,如何允许来自我的IP的帖子并禁止所有其他流量? 这似乎是一个简单而常见的操作,但我还没有在网上找到一个合适的解决方案。大多数GAE身份验证和路由包都是围绕用户身份验证构建的 我应该在哪里寻找解决方案?我应该使用什么谷歌关键词?这将写入应用程序本身,还是我应该关注GCP的另一个用于IP访问和路由的组件 谢谢

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

我想将此应用程序的访问权限限制在发帖的IP-非GAE Web服务器的有限数量上从本质上讲,如何允许来自我的IP的帖子并禁止所有其他流量?

这似乎是一个简单而常见的操作,但我还没有在网上找到一个合适的解决方案。大多数GAE身份验证和路由包都是围绕用户身份验证构建的

我应该在哪里寻找解决方案?我应该使用什么谷歌关键词?这将写入应用程序本身,还是我应该关注GCP的另一个用于IP访问和路由的组件

谢谢

感谢您提醒我存在request.remote\u 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分


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

这个IP范围有多大?连接时,它是否可以存储并执行简单检查?非常小。一开始只有一两个。是的,存储和检查是我所设想的。在这种情况下,因为它只有几个IP,也许防火墙规则是一个更好的选择?防火墙规则是否可用于应用程序引擎,或者这是一个计算引擎功能?您可以在请求中检查remote\u addr,尝试self.request.remote\u addr,然后在继续发布之前检查它是否在您允许的列表中。这确实是一种很好的方式来完成您想要的事情。另一个解决方案是使用托管虚拟机,在这里您可以像在计算引擎中一样配置防火墙规则。干杯如何使用MVM配置防火墙规则?