當我登錄到一些網站,例如。 http://mysite.com然後轉到http://www.mysite.com,我還沒有登錄?但如果我切換回http://mysite.com(不含www),我再次登錄?如何在某些網站上登錄http://mysite.com,然後當您訪問http://www.mysite.com時您還沒有登錄?
任何人都知道爲什麼這是或如何使它,如果你登錄一個,你登錄在兩個?
謝謝
馬特
當我登錄到一些網站,例如。 http://mysite.com然後轉到http://www.mysite.com,我還沒有登錄?但如果我切換回http://mysite.com(不含www),我再次登錄?如何在某些網站上登錄http://mysite.com,然後當您訪問http://www.mysite.com時您還沒有登錄?
任何人都知道爲什麼這是或如何使它,如果你登錄一個,你登錄在兩個?
謝謝
馬特
這兩個網址www.mysite.com和mysite.com是獨立的域(以及域和子域)。通常,網站的兩個域都指向同一個網站 - 因此網站的用戶不會感到困惑。可能當您登錄時,在您的瀏覽器上設置了一個cookie來標識您,但它僅與您登錄的域相關聯。這可能是預期的行爲。
當餅乾被置位,默認的路徑,它可以被限制在一些子域名或具有包容性,爲所有子域。
在這裏,您試圖從不同子域讀取cookie,並且可能無法訪問它們,因爲它們被設置在另一個子域中,而沒有指定它們可以在www上使用。子域。
通過cookie登錄會話綁定到域名。 「www.sitename.com」和「sitename.com」本質上是不同的名稱。
一種快速方法是將所有請求從一個站點重定向到另一個站點,並具有一致的域名。
如果在未指定域屬性的情況下設置cookie,則瀏覽器會將其與設置該域的域相關聯。
如果您想要設置一個cookie - 包括用於保存會話ID的cookie - 包含所有子域,則需要將domain屬性設置爲「.domain.com」 - 注意前導點,它允許瀏覽器匹配以domain.com結尾的任何域。
話雖如此,更好的解決方案是強制用戶到一個域或另一個域,並且不允許兩個(也許通過重定向從一個到另一個)。如果你同時允許,那麼用戶可以不止一次下載可緩存的對象,而不是從緩存中使用它們。