tornado-----安全Cookie机制------用户身份验证框架

代码演示:

 1 from tornado import web, ioloop
 2 
 3 session_id = 1
 4 
 5 
 6 class MainHandler(web.RequestHandler):
 7     def get(self, *args, **kwargs):
 8         global session_id
 9         if not self.get_secure_cookie("session"):
10             self.set_secure_cookie("session", str(session_id))
11             session_id += 1
12             self.write("您刚获取了'session':%s ..." % str(session_id - 1))
13         else:
14             self.write("您已经获取了session...")
15 
16 
17 application = web.Application([
18     (r"/", MainHandler),
19 ], cookie_secret="SECRET_DONT_LEAK")  # cookie_secret参数的值是保存本网站Cookie加密时的密钥
20 
21 
22 def main():
23     application.listen(8888)
24     ioloop.IOLoop.current().start()
25 
26 
27 if __name__ == '__main__':
28     main()

网页结果:

  第一次访问:

  

  刷新之后:

  

 

  这里用 get_secure_cookie 获取cookie,替换之前的 get_cookie;用 set_secure_cookie 设置cookie,替换之前的 set_cookie。开发者无须

担心Cookie的伪造问题。cookie_secret 赋值为一个字符串,这是加密的密钥,不能外泄。

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