Chrome上的Python Tornado XSRF cookie问题

Chrome上的Python Tornado XSRF cookie问题,python,google-chrome,cookies,tornado,Python,Google Chrome,Cookies,Tornado,我是Tornado的新手,我正在尝试用xsrf cookie构建一个非常简单的登录表单。 代码如下: class MainHandler(tornado.web.RequestHandler): def get(self): self.render("index.html") def post(self): self.write("You ahve submitted the form.!") class App(tornado.web.Appli

我是Tornado的新手,我正在尝试用xsrf cookie构建一个非常简单的登录表单。 代码如下:

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.render("index.html")
    def post(self):
        self.write("You ahve submitted the form.!")
class App(tornado.web.Application):
    def __init__(self):
        handlers = [
            (r"/", MainHandler),
        ]
        settings = dict(xsrf_cookies=True)
        tornado.web.Application.__init__(self, handlers, **settings)
if __name__ == "__main__":
    app = App()
    server = tornado.httpserver.HTTPServer(app)
    server.listen(7001)
    tornado.ioloop.IOLoop.current().start()
形式也很简单:

<html>
<head><title>Text XSRF</title></head>
<body>
<form method="post">
    {% module xsrf_form_html() %}
    {% raw xsrf_form_html() %}
    Username:<input type="text" name="username">
    Password:<input type="password" name="pwd">
    <input type="submit" value="submit">
</form>
</body>
</body>
</html>
当我打开Chrome并输入hxxp://xsrf.test.com:7001,我可以看到登录表单,但是当发送POST请求时,我得到一个

403 (XSRF cookie does not match POST argument) 
然而,如果我击中hxxp://localhost:7001,我可以按预期提交表格。IE和Safari对这两个域都适用。所以我想知道我在Chrome中使用“xsrf.test.com”来实现这一点是否做错了什么


我确实检查了Chrome->设置->内容设置->Cookies->允许设置本地数据是否正确选择。

表单是什么样子的?您是否包含
{%module xsrf_form_html()%}
?@BenDarnell根据请求添加了表单,是的,我包含了表单,否则它不会用于其他浏览器。我捕获了网络包,发现问题确实是响应中的“Set Cookie”对于添加到主机文件中的域的Chrome不起作用。但它在使用“localhost”的Chrome上工作。我现在有点困惑。表格是什么样子的?您是否包含
{%module xsrf_form_html()%}
?@BenDarnell根据请求添加了表单,是的,我包含了表单,否则它不会用于其他浏览器。我捕获了网络包,发现问题确实是响应中的“Set Cookie”对于添加到主机文件中的域的Chrome不起作用。但它在使用“localhost”的Chrome上工作。我现在有点困惑。
403 (XSRF cookie does not match POST argument)