1
我使用Tornado
的Secure Cookie
功能來實現用戶會話。 set_secure_cookie
函數使我們能夠創建一個Cookie,其中cookie的有效期限可以設置爲1天。現在,我需要在一小時內將這些安全cookie過期。我能輕鬆實現嗎?龍捲風創建一個安全Cookie,失效時間少於1天
一個解決方案是附加一個時間戳與cookie值。例如,如果Cookie值是我的用戶ID(例如1
),那麼我可以創建一個像1_{current datetime}
這樣的cookie。稍後驗證時,我可以拆分cookie值,並檢查underscore character
之後的日期時間是否不少於當前時間之前的1小時。這聽起來可以接受,因爲Tornado的安全Cookie不能被用戶修改。
但是,有沒有比這更優雅的解決方案?
請注意,無論何時修改過期時間,通常在調用'get_secure_cookie'時都應更改'max_age_days'(兩者具有稍微不同的含義; get端的'max_age_days'更重要,因爲用戶可以保存舊的cookie並在過期時間內重複使用)。分數值也適用於此。 –
@BenDarnell如果我設置的cookie有效性爲1小時,並且仍然不帶參數調用get_secure_cookie(意味着最大31歲時),它可以檢測到cookie無效(過去1小時)。我對麼? – giga
@BenDarnell我創建了一個小時有效的cookie。但cookie在一小時後似乎仍然有效!我是否還需要爲「max_age_days」參數傳遞「一小時」值? – giga