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 赋值为一个字符串,这是加密的密钥,不能外泄。
清澈的爱,只为中国