tornado------防止跨站攻击------用户身份验证框架

CSRF攻击原理

  

  详情请点击获取!

 用tornado防范CSRF攻击

  为了防CSEF攻击,要求每个请求包括一个参数值作为令牌来匹配储存在cookie中的对应值。

  Tornado应用可以通过一个Cookie头和一个HTML表单元素向页面提供令牌。开启Tornado的CSR防范功能需要两个步骤:

  1、在实例化tornodo.web.Application时传入xsrf_cookies=True参数,如:

  1  application = tornado.web.Application([
  2    (r"/", MainHandler),
  3    (r"/purchase", PurchaseHandler),
  4   ], cookie_secret="DONT_LEAK_SECRET", xsrf_cookies=True,)

    或者:

  1 settings = {
  2     "cookie_secret": "DONT_LEAK_SECRET",
  3     "xsrf_cookies": True,
  4 }
  5 
  6 application = tornado.web.Application([
  7     (r"/", MainHandler),
  8     (r"/purchase", PurchaseHandler),
  9 ], **settings)

  2、在每个具有HTML表单的模板文件中,为所有表单添加xsrf_form_html()函数标签,如:

1 <form action="/login" method="post">
2     {% module xsrf_form_html() %}
3     <input type="text" name="message"/>
4     <input type="submit" value="Post"/>
5 </form>

 

posted @ 2018-06-11 23:28  巴蜀秀才  阅读(139)  评论(0编辑  收藏  举报