import tornado.web
import tornado.ioloop
session_id = 1
class MainHandler(tornado.web.RequestHandler):
def get(self):
global session_id
if not self.get_secure_cookie('session'):
self.set_secure_cookie("session",str(session_id))
session_id = session_id+1
self.write("You session got a new session!")
else:
self.write("Your session was set!")
application = tornado.web.Application([
(r"/",MainHandler),
],cookie_secret="SECRET_DONT_LEAK")
def main():
application.listen(8888)
tornado.ioloop.IOLoop.current().start()
if __name__ == '__main__':
main()
在tornado.web.Application对象初始化时赋予cookie_secret参数,该参数值是一个字符串,用于保存本站Cookie加密时的密钥。
RequestHandler.get_secure_cookie替换RequestHandler.get_cookie。
RequestHandler.set_secure_cookie替换RequestHandler.set_cookie。
cookie_secret参数值是Cookie的加密密钥,需要做好保护工作,不能泄露出去。