现在的位置: 网页制作教程网站制作教程 >正文
网页高级教程

二级域名如何共享cookies

发表于2014/10/25 网站制作教程 1条评论 ⁄ 热度 3,047℃

今天碰到一个需求:要求在二级域名站点中能够互相共享cookies。现在将实现方式公布出来,希望对小伙伴们有所帮助。

cookies身份识别

1、在iis中新建3个www.webym.net,idc.webym.net,jc.webym.net站点。

2、在www.webym.net下建立文件testcookies.asp,代码如下:

<% 
Response.Cookies("Type") = "Test Cookies"
Response.Cookies("Type").Expires = date()+30 
Response.Cookies("Type").Domain = ".goalercn.com" 
Response.Cookies("Type").Secure = False 
Response.Write Request.Cookies("Type") 
%>

3、在idc.webym.net下建立文件testcookies.asp,代码如下:

<%Response.Write Request.Cookies("Type")%>

4、在jc.webym.net下建立文件testcookies.asp,代码同上

5、因为是本机测试,修改hosts文件,把4个域名都指向到127.0.0.1,也就是添加如下内容:

文件位置:C:\WINDOWS\system32\drivers\etc\hosts.asm

127.0.0.1 idc.webym.net

127.0.0.1 jc.webym.net

127.0.0.1 www.webym.net

127.0.0.1 webym.net

6、关闭所有浏览器,开IE,打开http://www.webym.net/testcookies.asp,显示出文本内容:Test Cookies

7、新建窗口,打开http://idc.webym.net/testcookies.asp,显示出文本内容:Test Cookies

8、新建窗口,打开http://jc.webym.net/testcookies.asp,同样显示出如上文本内容

9、换其他4个浏览器,都成功。

注意要点:

1、Response.Cookies("Type").Secure = False,Secure属性一定要是false,或者直接不执行这行,如果Secure = True,则idc和jc的2级域名是取值不了。

2、Response.Cookies("Type").Domain = ".webym.net",domain的值,我设置为"goalercn.com",也就是没有前面的点,在ie下成功,其他4个浏览器没测试。

3、path我猜是不应该设置的。

4、在局域网内其他机器上,修改host指向到我机器的IP,取值成功。

5、在局域网另外一台机器上架设idc.webym.net,把webym.net文件copy过去,同时修改host到当前机器,取值成功。

  • 迷途者

    谢谢分享,这个很实用