Cookie跨域操作
JS跨域設(shè)置和取Cookiecookie 是存儲于訪問者的計算機中的變量。每當(dāng)同一臺計算機通過瀏覽器請求某個頁面時,就會發(fā)送這個 cookie。你可以使用 JavaScript 來創(chuàng)建和取回 cook
JS跨域設(shè)置和取Cookie
cookie 是存儲于訪問者的計算機中的變量。每當(dāng)同一臺計算機通過瀏覽器請求某個頁面時,就會發(fā)送這個 cookie。你可以使用 JavaScript 來創(chuàng)建和取回 cookie 的值。本文主要JS怎樣讀取Cookie以及域的設(shè)置。
AD:
在Javascript腳本里,一個cookie 實際就是一個字符串屬性。當(dāng)你讀取cookie的值時,就得到一個字符串,里面當(dāng)前WEB頁使用的所有cookies的名稱和值。每個cookie除了 name名稱和value值這兩個屬性以外,還有四個屬性。這些屬性是: expires過期時間、 path路徑、 domain域、以及 secure安全。
Expires – 過期時間。指定cookie的生命期。具體是值是過期日期。如果想讓cookie的存在期限超過當(dāng)前瀏覽器會話時間,就必須使用這個屬性。當(dāng)過了到期日期時,瀏覽器就可以刪除cookie文件,沒有任何影響。
Path – 路徑。指定與cookie關(guān)聯(lián)的WEB頁。值可以是一個目錄,或者是一個路徑。如果http://www.zdnet.com/devhead /index.html 建立了一個cookie,那么在http://www.zdnet.com/devhead/目錄里的所有頁面,以及該目錄下面任何子目錄里的頁面都可以 訪問這個cookie。這就是說,在http://www.zdnet.com/devhead/stories/articles 里的任何頁面都可以訪問http://www.zdnet.com/devhead/index.html建立的cookie。但是,如果http: //www.zdnet.com/zdnn/ 需要訪問http://www.zdnet.com/devhead/index.html設(shè)置的cookes,該怎么辦?這時,我們要把cookies 的path屬性設(shè)置成“/”。
在指定路徑的時候,凡是來自同一服務(wù)器,URL里有相同路徑的所有WEB頁面都可以共享cookies。現(xiàn)在看另一個例子: 如果想讓 http://www.zdnet.com/devhead/filters/ 和http://www.zdnet.com/devhead/stories/共享cookies,就要把path設(shè)成“/devhead”。
Domain – 域。指定關(guān)聯(lián)的WEB服務(wù)器或域。值是域名,比如zdnet.com。這是對path路徑屬性的一個延伸。如果我們想讓 catalog.mycompany.com 能夠訪問shoppingcart.mycompany.com設(shè)置的cookies,該怎么辦? 我們可以把domain屬性設(shè)置成“mycompany.com”,并把path屬性設(shè)置成“/”。不能把cookies域?qū)傩栽O(shè)置成與設(shè)置它的服務(wù)器的 所在域不同的值。
Secure – 安全。指定cookie的值通過網(wǎng)絡(luò)如何在用戶和WEB服務(wù)器之間傳遞。這個屬性的值或者是“secure”,或者為空。缺省情況下,該屬性為空,也就是 使用不安全的HTTP連接傳遞數(shù)據(jù)。如果一個 cookie 標(biāo)記為secure,那么,它與WEB服務(wù)器之間就通過HTTPS或者其它安全協(xié)議傳遞數(shù)據(jù)。不過,設(shè)置了secure屬性不代表其他人不能看到你機器本 地保存的cookie。換句話說,把cookie設(shè)置為secure,只保證cookie與WEB服務(wù)器之間的數(shù)據(jù)傳輸過程加密,而保存在本地的 cookie文件并不加密。如果想讓本地cookie也加密,得自己加密數(shù)