簡體   English   中英

如何為現有用戶更改會話cookie域

[英]How to change session cookie domain for existing users

我的PHP Web應用程序目前將其會話cookie域設置為example.com 我想將其更改為.example.com 對於新訪問者, ini_set('session.cookie_domain', '.example.com')可以使用。 對於在進行此更改之前已擁有PHPSESSID cookie的訪問者,域保持舊值。 如何在不要求當前用戶刪除其Cookie的情況下更改會話cookie上的域?

  • 我不能使用JavaScript來更新cookie,因為出於安全原因它是HTTPOnly。
  • 刪除服務器上的會話不會重置整個cookie,它只會更新cookie值(保持域名相同)。
  • 現代瀏覽器會在重新啟動時保留會話,因此即使cookie在瀏覽器會話結束時設置為過期,瀏覽器會話也永遠不會結束。

我能想到的唯一可能性是將cookie設置為過去過期,然后重定向以獲取新的cookie。 但我不知道哪些訪問者的cookie域設置不正確。

在開始會話之前設置新的session_name() 這樣,cookie的名稱就會改變,任何舊的cookie都會被忽略。 只會發送新的Cookie並為會話工作。

暫無
暫無

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

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