域名和子域名间的cookie共享和修改、删除

本文详细解释了一级域名和二级域名设置、读取、修改和删除Cookie的区别,强调了domain属性对跨域共享的重要性,并指出不同编程语言处理Cookie方式可能有差异。
摘要由CSDN通过智能技术生成

1.设置COOKIE
1.1.一级域名
  一级域名只能设置domain为一级域名,不能设置为二级域名或者三级域名等等,否则cookie无法生成。
       如:test.com能设置domaintest.com或者www.test.com,但不能设置domainlogin.test.com,这样cookie不会生成。
    以下面的代码为例:
            setcookie("name1", "test", time() + 1000);            //test.com自己可以看到

            setcookie("name2", "test", time() + 1000, "/", "www.test.com");      //*.www.test.com都可以看到

            setcookie("name3", "test", time() + 1000, "/", "test.com");      //*.test.com都可以看到

            setcookie("name4", "test", time() + 1000, "/", "login.test.com");     //设置无效

       注意:
            设置domain的时候,.test.comtest.com是一样的。

            未指定domain时,默认的domain为用哪个域名访问就是哪个。    

       执行后,就可以在www.test.com浏览器下看到cookie情况。
  总的来说,一级域名设置的cookie可以共享【需要指定domain主域名的host】给二级域名,也可以自己私有【不指定domain】。

1.2.二级域名
  拿game.test.com为例,代码如下:

          setcookie("game", "test");                    //只有自己可以看到

          setcookie("game1", "test", time() + 1000, "/", "test.com");      //*.test.com都可以看到

          setcookie("game2", "test", time() + 1000, "/", "chip.game.test.com"); //设置无效

       执行后,就可以在game.test.com浏览器下看到cookie情况。
  总的来说,设置cookie的话只能在本域名下或者domain级别高于自身的域名下才会生效!

2.读取COOKIE
  有了上面的例子和实践,大概的规则如下:

    • 二级域名能读取设置了domain为一级域名或者自身的cookie,不能读取其他二级域名domaincookie。例如:要想cookie在多个二级域名中共享,需要设置domain为一级域名,这样就可以在所有二级域名里面或者到这个cookie的值了。 
    • 一级域名只能获取到domain设置为一级域名的cookiedomain设置为其他子级域名的无法获取。  


3.修改COOKIE
3.1.一级域名
  一级域名的cookie在一级域名或者非一级域名【需要设置domain为一级域名才可以】都可以修改。代码如下:

    #为所有二级域名设置一个cookie

    setcookie("name", "test", time() + 1000, "/", "test.com");

    #在game.test.com下面修改这个cookie值

    setcookie("name", "test123", time() + 1000, "/", "test.com");


3.2.二级域名
  修改二级域名自身生成的cookie不需要设置domain,直接设置即可。代码如下:

    #修改game.test.com下面自身的cookie值

    setcookie("game", "chip", time() + 10000);


4.删除COOKIE
  删除cookie理解为是修改cookie的一种特殊场景,只需将expire设置为过期、值设置为null即可,代码如下:

    #删除test.com下面的cookie值

    setcookie("name", null, time() - 1000, "/", "test.com");

    #删除game.test.com下面自身的cookie值

    setcookie("game", null, time() - 1000);


5.总结
对于Cookie在一级域名和子级域名间的操作基本如上所述,不同编程语言之间操作cookie的方式不同而已。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值