国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ASP關(guān)于Cookie跨域操作,采用設(shè)定domain為根域名的方法

2019-11-17 04:12:27
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  Cookie跨域操作看來(lái)是個(gè)簡(jiǎn)單的問(wèn)題,因?yàn)橹灰付―omain屬性為指定網(wǎng)站的根域名就能夠了.但是筆者在實(shí)際使用過(guò)程中卻碰到了一些問(wèn)題,的確值得注意.

  環(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)在能夠通過(guò)下面的執(zhí)行順序來(lái)測(cè)試,Write.asp-->主域名的Read.asp-->子域名的Read.asp 任何Read.asp頁(yè)面都能夠讀取到Write.asp創(chuàng)建的cookie的值,然后再運(yùn)行Clear.asp進(jìn)行清除,一切都Ok,http://bizhi.VeVb.com/ 看上去沒有什么問(wèn)題。

  但是把這種方法運(yùn)用到實(shí)際的站點(diǎn)時(shí)卻出現(xiàn)問(wèn)題了。

  問(wèn)題描述:

  第一次登錄一切ok,任何子域名都能夠訪問(wèn)到主域名存儲(chǔ)的cookie,但是,一旦退出之后,子域名的cookie被清除了,但是主域名的cookie仍然保留著,強(qiáng)行清除主域名的cookie之后,無(wú)論怎樣登錄主域名下都無(wú)法保存cookie了,除非關(guān)掉瀏覽器重新打開。

  經(jīng)過(guò)多次嘗試之后,無(wú)意中發(fā)現(xiàn)問(wèn)題所在,以下是測(cè)試經(jīng)過(guò)。

  創(chuàng)建一個(gè)Write2.asp的頁(yè)面放在主域名下


 程序代碼
<%
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ù)以上測(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)不要修改已配置Domain的Cookie組,直接使用Response.Cookies("CookieText") = CookieValue 來(lái)創(chuàng)建一個(gè)新的Cookie。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高青县| 丹东市| 临沭县| 绥阳县| 九龙城区| 黄平县| 嵊州市| 唐河县| 河南省| 萨迦县| 柏乡县| 伊宁县| 辉南县| 库尔勒市| 兴仁县| 慈溪市| 县级市| 杭锦旗| 吐鲁番市| 久治县| 徐州市| 卓资县| 阿图什市| 明光市| 莱西市| 七台河市| 遵化市| 白水县| 辉南县| 富宁县| 宁安市| 周宁县| 西华县| 五大连池市| 育儿| 渑池县| 邢台市| 余江县| 辉南县| 永新县| 鄂托克旗|