3
我環顧四周,發現如何刪除客戶端瀏覽器上的cookie,使用cookie的過期或在瀏覽器退出時通過不提供過期來刪除它們。ASP.NET刪除會話/ Cookies
我需要在我的web應用程序中設置Cookie以在特定時間後刪除,但如果瀏覽器退出或崩潰。這可能嗎?
在此先感謝!
我環顧四周,發現如何刪除客戶端瀏覽器上的cookie,使用cookie的過期或在瀏覽器退出時通過不提供過期來刪除它們。ASP.NET刪除會話/ Cookies
我需要在我的web應用程序中設置Cookie以在特定時間後刪除,但如果瀏覽器退出或崩潰。這可能嗎?
在此先感謝!
這可能嗎?
不,這是不可能的。有2種類型的Cookie:
expires
給定日期=>這些Cookie存儲在客戶端瀏覽器上的文件和生存重新啓動瀏覽器屬性設置。將根據客戶端執行的每個請求發送它們,直到達到它們到期的日期爲止,或者直到服務器明確刪除它們。expires
屬性。那些只存在於當前瀏覽器進程的內存中,但不會過期(直到瀏覽器關閉或直到服務器明確刪除它們)。因此,對於您的場景,您可以通過在值中包含created at
日期來使用會話cookie。然後在每次請求時在服務器上讀取此值並與當前日期進行比較。如果所需期限已過,則只需將cookie過期,以便在隨後的請求中不再發送該cookie。順便說一下,這種技術在ASP.NET中使用了Forms Authentication模塊。您可以在web.config中指定一個超時值,並決定是否要使用滑動過期,然後在每次請求時,服務器都會檢查是否達到超時,以便做出使cookie無效或更新的決定(如果滑動到期已啓用)。