控制 Cookie 的作用範圍

來源:互聯網
上載者:User
        預設時,網站的所有 Cookies 都一起被儲存在用戶端,並且所有 Cookies 連同網站的任何請求一起被發送到伺服器。換句話說,網站中的每個頁面都能夠為網站擷取所有的 Cookies。但是,你能夠通過兩個方式來設定 Cookies 的作用範圍:
       把 Cookies 的作用範圍限制到伺服器的目錄,從而允許你把 Cookies 限制到網站的某個應用程式。
設定域的作用範圍,能夠允許你指定域中的哪些子域能夠訪問 Cookie。
把 Cookies 限制到目錄或應用程式
要把 Cookies 限制到伺服器的目錄,請設定 Cookie 的 Path 屬性,如下執行個體所示:
HttpCookie appCookie = new HttpCookie("AppCookie");
appCookie.Value = "written " + DateTime.Now.ToString();
appCookie.Expires = DateTime.Now.AddDays(1);
appCookie.Path = "/Application1";
Response.Cookies.Add(appCookie);
提示:你同樣可以通過直接添加到 Cookies 集合的方式來寫入 Cookies,如前面的執行個體所示。
路徑既能夠位於網站的物理根目錄中也能夠位於虛擬根目錄中。結果將會是 Cookie 只對於目錄或者虛擬根 Application1 中的頁面可用。例如,如果你的網站名稱是 http://www.contoso.com/,在前面的執行個體中所建立的 Cookie 將只對於路徑 http://www.contoso.com/Application1/ 以及其下所有子目錄中的頁面可用。但是,該 Cookie 對於其他應用程式(如 http://www.contoso.com/Application2/ 或者 http://www.contoso.com/)中的頁面則是停用。
提示:部分瀏覽器中的路徑對大小寫字母是敏感的。你無法控制使用者如何在他們的瀏覽器中輸入 URL,但是如果你的應用程式依賴於 Cookies 來約束特定的路徑,請確保你所建立的任何超級連結中的 URL 能夠與 Path 屬性值中的大小寫相匹配。
限制 Cookie 的域範圍
預設時,Cookies 是與特定的域相關聯的。例如,如果你的網站是 http://www.contoso.com/,你寫入的 Cookies 會在使用者從網站中請求任何頁面的時候被發送到伺服器。(可能不包括有特定的路徑值的 Cookies。)如果你的網站中還擁有子域(例如,contoso.com、sales.contoso.com、以及 support.contoso.com),那麼你可以把特定的子域與 Cookies 相關聯。要這樣做,請設定 Cookie 的 Domain 屬性,如執行個體所示:
Response.Cookies["domain"].Value = DateTime.Now.ToString();
Response.Cookies["domain"].Expires = DateTime.Now.AddDays(1);
Response.Cookies["domain"].Domain = "support.contoso.com";
當按照這樣設定域之後,Cookie 將只對於特定域中的頁面可用。你同樣能夠使用 Domain 屬性來建立一個能夠在多個子域之間被共用的 Cookie,如下執行個體所示:
Response.Cookies["domain"].Value = DateTime.Now.ToString();
Response.Cookies["domain"].Expires = DateTime.Now.AddDays(1);
Response.Cookies["domain"].Domain = "contoso.com";
Cookie 這時候將與 sales.contoso.com 和 support.contoso.com 域一樣對於主域是可用的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.