簡體   English   中英

當使用Dancer :: Session :: Cookie在Dancer(Perl)中空閑時如何銷毀cookie?

[英]How to destroy cookies when idle in Dancer (Perl) using Dancer::Session::Cookie?

在閑置一定時間后,是否有內置方法可以銷毀Dancer::Session::Cookie生成的會話cookie? 我注意到當我重新啟動Nginx或Starman服務器時,它甚至都沒有破壞會話,這不是我想要的(出於安全原因)。

如果沒有內置的方式,那么在SQL數據庫中存儲會話的上次活動時間並在每次操作后對其進行更新是否有天生的錯誤? 然后,如果超過15分鍾左右而又沒有更新該條目,則會話cookie將被銷毀(使用session-> destroy)。 這似乎不是最好的解決方案,但這也許是唯一的方法。 根據我的理解,您還可以在HTTP標頭中手動設置cookie過期時間,但這只會破壞客戶端的cookie,對嗎?

我想你想做相反的事情。

生成Cookie時,請使用expires屬性將其設置為“ 15分鍾”:

https://metacpan.org/pod/Dancer::Cookie#expires

然后,每次為該會話執行操作時,請調用Dancer :: Cookie init方法:

https://metacpan.org/pod/Dancer::Cookie#init

...刷新cookie(如果您未使用默認路徑,請輸入該路徑)。

在給定的時間之后,用戶的瀏覽器應為您終止Cookie。

(我實際上並沒有嘗試過,但是代碼暗示它應該可以工作-init方法的文檔肯定會更清楚)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM