为了防止XSRF,要求每一个请求必须通过一个cookie头和一个隐藏表单向页面提供令牌,这样网站才认为请求有效。
开启tornado的XSRF功能有两个步骤:
1.在实例化tornado.web.Application时传入xsrf_cookies=True参数:
App = tornado.web.Application([(r'/', MainHandler),],cookie_secret = "DONT_SHOW_SECRET", xsrf_cookies=True)
2.在每个具有HTML表单的模板里,添加xsrf_form_html()标签:
<form>
{%module xsrf_form_html()%}
</form>
这里的 {%module xsrf_form_html()%}起到了为表单添加隐藏元素防止跨站请求的作用!