Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.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 Google应用程序引擎和带有重定向和HTTP POST的Google身份验证_Python_Google App Engine_Authentication_Post - Fatal编程技术网

Python Google应用程序引擎和带有重定向和HTTP POST的Google身份验证

Python Google应用程序引擎和带有重定向和HTTP POST的Google身份验证,python,google-app-engine,authentication,post,Python,Google App Engine,Authentication,Post,我有一个表单,我需要将内容发送到服务器 我使用谷歌认证,因为只有经过授权的人才能发送到服务器 表格是这样的: <form action="/blog/submit" method="post"> ... </form> class SubmitPage(webapp.RequestHandler): def post(self): if users.get_current_user() is None: self.redi

我有一个表单,我需要将内容发送到服务器

我使用谷歌认证,因为只有经过授权的人才能发送到服务器

表格是这样的:

<form action="/blog/submit" method="post">
...
</form>
class SubmitPage(webapp.RequestHandler):
    def post(self):
        if users.get_current_user() is None:
            self.redirect(users.create_login_url(self.request.uri))
            ...
问题是重定向中的返回url只在HTTP GET中执行,而不是我想要的HTTP POST

我想进行身份验证,然后重定向到提交页面(POST),但它会尝试在同一url上执行GET


可以实现我想要的吗?

不,不可能让POST数据遵循HTTP重定向


几乎可以肯定的是,在显示首先发布此数据的表单之前,您应该先检查登录名,但一旦用户进入表单,您最好将内容保存到链接到您生成的会话ID的数据存储中,并将其设置为cookie或将其添加到重定向URI中,以便用户从登录页面返回时可以再次检索它。

否,不可能让POST数据遵循HTTP重定向


几乎可以肯定的是,在显示首先发布此数据的表单之前,您应该先检查登录名,但一旦用户进入表单,您最好将内容保存到链接到您生成的会话ID的数据存储中,并将其设置为cookie或将其添加到重定向URI中,以便用户从登录页面返回时可以再次检索它。

那么,确保只有登录用户才能发布到相应URI的最佳方法是什么?在POST URI处理程序中不检查POST数据是否来自授权用户本身似乎是一种模糊的“安全”情况。那么,确保只有登录用户才能发布到适当的URI的最佳方法是什么?不检查POST数据是否来自POST URI处理程序本身中的授权用户似乎是一个模糊的“安全”案例。