Tornado安全cookie網站例子

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的加密密鑰,需要做好保護工作,不能泄露出去。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章