2016-07-18 98 views
2

我很好奇Flask會話如何工作,特別是它如何在服務器重啓之間存儲信息(如果我錯了,請引用我)。我知道你必須設置一個獨特的app.secret_key,這樣人們無法以任何方式解密會話並修改cookie。因爲會話的cookie只是隨機生成的字母和數字,這是否意味着該id與服務器端的id配對,並且服務器存儲會話?如果是這樣,Flask如何記住重啓之間的會話?如果不是,Flask如何知道解密會話cookie?燒瓶會議如何工作?

回答

8

默認會話是使用安全cookie實現的。 Cookies由客戶的瀏覽器堅持,Flask在這方面不做任何事情。

該Cookie是安全加密,它不能阻止與cookie任何人查看的數據,只能從修改。 Flask在發送時使用應用程序的密鑰對數據進行簽名,並在讀取數據時使用相同的密鑰對其進行unsigned。

燒瓶不會向會話添加任何內容。沒有會話ID,瀏覽器只是在每個請求期間發送會話cookie,並且Flask讀取它。

您可以編寫自己的session interface改變如何會話的作品。參見擴展名,如Flask-Session