zoukankan      html  css  js  c++  java
  • 顶级域名和子级域名之间的cookie共享和相互修改、删除

    设置COOKIE

    顶级域名

    顶级域名只能设置domain为顶级域名,不能设置为二级域名或者三级域名等等,否则cookie无法生成。

    yangbai.com能设置domainyangbai.com或者www.yangbai.com,但不能设置domainlogin.yangbai.com,这样cookie不会生成。

    以下面的代码为例:

    setcookie("name1", "yangbai", time() + 1000);//yangbai.com自己可以看到
    setcookie("name2", "yangbai", time() + 1000, "/", "www.yangbai.com");//*.www.yangbai.com都可以看到
    setcookie("name3", "yangbai", time() + 1000, "/", "yangbai.com");//*.yangbai.com都可以看到
    setcookie("name4", "yangbai", time() + 1000, "/", "login.youzan.com");//设置无效

    设置domain的时候,.yangbai.comyangbai.com是一样的。
    未指定domain时,默认的domain为用哪个域名访问就是哪个。

    执行后,www.yangbai.com在浏览器的cookie情况如下图:

    二级域名login.yangbai.comgame.yangbai.com浏览器的cookie情况如下图:

    总的来说,顶级域名设置的cookie可以共享【需要指定domain主域名的host】给二级域名,也可以自己私有【不指定domain】。

    二级域名

    game.yangbai.com为例,代码如下:

    setcookie("game", "yangbai");//只有自己可以看到
    setcookie("game1", "yangbai", time() + 1000, "/", "yangbai.com");//*.yangbai.com都可以看到
    setcookie("game2", "yangbai", time() + 1000, "/", "chip.game.yangbai.com");//设置无效

    执行后,game.yangbai.com在浏览器的cookie情况如下图:

    总的来说,设置cookie的话只能在本域名下或者domain级别高于自身的域名下才会生效!

    读取COOKIE

    有了上面的例子和实践,大概的规则如下:

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

    • 顶级域名只能获取到domain设置为顶级域名的cookiedomain设置为其他子级域名的无法获取。

    修改COOKIE

    顶级域名

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

    #为所有二级域名设置一个cookie
    setcookie("name", "yangbai", time() + 1000, "/", "yangbai.com");
    
    #在game.yangbai.com下面修改这个cookie值
    setcookie("name", "yangbai11", time() + 1000, "/", "yangbai.com");

    二级域名

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

    #修改game.yangbai.com下面自身的cookie值
    setcookie("game", "chip", time() + 10000);

    删除COOKIE

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

    #删除yangbai.com下面的cookie值
    setcookie("name", null, time() - 1000, "/", "yangbai.com");
    
    #删除game.yangbai.com下面自身的cookie值
    setcookie("game", null, time() - 1000);

    最后,希望这些简单地总结可以帮到你,大家加油!

  • 相关阅读:
    利用EZMorph复制bean
    JAVA中使用FTPClient上传下载
    戏说java web开发中的listener和filter
    FastCGI的并发处理
    XPATH学习总结
    [Linux] gdb crash之后,杀掉僵尸进程的办法
    JAVA反射使用手记
    在centos5下安装配置VNC
    开始FastCGI
    log4php配置文件实例
  • 原文地址:https://www.cnblogs.com/aini521521/p/7552142.html
Copyright © 2011-2022 走看看