相關(guān)資訊
- 《戰(zhàn)國(guó)無雙4-2》怎么換服裝?戰(zhàn)國(guó)無
- 關(guān)于責(zé)任的名言警句大全
- 《戰(zhàn)國(guó)無雙4-2》PC版如何聯(lián)機(jī)? 戰(zhàn)
- 戰(zhàn)國(guó)無雙4-2技能覺醒牛逼嗎 全新
- 《戰(zhàn)國(guó)無雙4-2》手柄無效怎么解決
- 戰(zhàn)國(guó)無雙4-2如何設(shè)置語言 戰(zhàn)國(guó)無雙
- 戰(zhàn)國(guó)無雙4-2怎么樣跳過進(jìn)入開場(chǎng)動(dòng)畫
- 什么是應(yīng)屆生畢業(yè)生
- 應(yīng)屆生簡(jiǎn)歷自我評(píng)價(jià)
- 應(yīng)屆生簡(jiǎn)歷怎么寫
本類常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416896
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶端下載下載量:365699
-
快播手機(jī)版下載量:325855
下面跟大家一起分享學(xué)習(xí)的是關(guān)于Cookie跨域操作遇到的問題及解決方法 ,希望能夠幫助到大家。
Cookie跨域操作看來是個(gè)簡(jiǎn)單的問題,因?yàn)橹灰付―omain屬性為指定網(wǎng)站的根域名就可以了.但是筆者在實(shí)際使用過程中卻遇到了一些問題,的確值得注意.
環(huán)境介紹
cookie在www主域名下創(chuàng)建,并寫入Domain屬性,如:(為方便調(diào)試以下代碼皆為asp代碼)
Write.asp
<%
Response.Cookies(CookieName)("UserName") = "SunBird"
Response.Cookies(CookieName)("Password") = "xyz1234"
Response.Cookies(CookieName).Domain = "xxxx.com"
%>
上面文件放在www主域名下,同時(shí)在同目錄下放置一個(gè)讀取cookie的Read.asp
Read.asp
<%
Response.Write Request.Cookies(CookieName)("UserName")
Response.Write Request.Cookies(CookieName)("Password")
%>
再放一個(gè)Read.asp文件到另外一個(gè)子域名站點(diǎn)里,代碼同上。最后我們?cè)僮鲆粋(gè)清除cookie的Clear.asp放在主域名下
Clear.asp
<%
Response.Cookies(CookieName)("UserName") = ""
Response.Cookies(CookieName)("Password") = ""
Response.Cookies(CookieName).Domain = "xxxx.com"
%>
現(xiàn)在可以通過下面的執(zhí)行順序來測(cè)試,Write.asp-->主域名的Read.asp-->子域名的Read.asp 所有Read.asp頁面都可以讀取到Write.asp創(chuàng)建的cookie的值,然后再運(yùn)行Clear.asp進(jìn)行清除,一切都Ok,看上去沒有什么問題。
但是把這種方法運(yùn)用到實(shí)際的站點(diǎn)時(shí)卻出現(xiàn)問題了。
問題描述:
第一次登錄一切ok,所有子域名都可以訪問到主域名存儲(chǔ)的cookie,但是,一旦退出之后,子域名的cookie被清除了,但是主域名的cookie仍然保留著,強(qiáng)行清除主域名的cookie之后,無論怎樣登錄主域名下都無法保存cookie了,除非關(guān)掉瀏覽器重新打開。
經(jīng)過多次嘗試之后,無意中發(fā)現(xiàn)問題所在,以下是測(cè)試經(jīng)過。
創(chuàng)建一個(gè)Write2.asp的頁面放在主域名下
<%
Response.Cookies(CookieName)("TEST_COOKIE") = "TEST_COOKIE"
%>
第一步:關(guān)閉瀏覽器后,按以下順序執(zhí)行,Write.asp-->主域名的Read.asp-->子域名的Read.asp 到這里所有Read.asp讀取正常。
第二步:Clear.asp-->主域名的Read.asp-->子域名的Read.asp 到這里清除操作是成功的。
第三步:Write.asp--> Write2.asp --> 主域名Read.asp --> 子域名Read.asp 到這里兩個(gè)Read.asp都可以讀取到cookie的值。
第四步:重新執(zhí)行第二步,發(fā)現(xiàn)主域名Read.asp仍然輸出了值,而子域名下的Read.asp的值已經(jīng)被清空了。
根據(jù)以上測(cè)試總結(jié)以下幾點(diǎn)再跨域使用cookie時(shí)需要注意的地方
1、當(dāng)你有一個(gè)Cookie組(或叫Cookie字典)使用Domain屬性指定域名之后,當(dāng)你在對(duì)該組的成員進(jìn)行修改或新增的時(shí)候,一定要在操作之后加上Resonse.Cookies(CookieName).Domain屬性。
2、如果沒有必要,請(qǐng)不要修改已設(shè)置Domain的Cookie組,直接使用Response.Cookies("CookieText") = CookieValue 來創(chuàng)建一個(gè)新的Cookie。
![高興](http://m.outdoo.cn/skin/fac/1.gif)
![可](http://m.outdoo.cn/skin/fac/2.gif)
![汗](http://m.outdoo.cn/skin/fac/3.gif)
![我不要](http://m.outdoo.cn/skin/fac/4.gif)
![害羞](http://m.outdoo.cn/skin/fac/5.gif)
![好](http://m.outdoo.cn/skin/fac/6.gif)
![下下下](http://m.outdoo.cn/skin/fac/7.gif)
![送花](http://m.outdoo.cn/skin/fac/8.gif)
![屎](http://m.outdoo.cn/skin/fac/9.gif)
![親親](http://m.outdoo.cn/skin/fac/10.gif)