顶级域名和二级域名共享cookie及相互删除cookie
在CSDN看到一个cookie设置domain时,如何删除的问题,
自己也只知道domain设置为顶级域名时可以被其他二级域名共享,但是如何删除还是有一点搞不清楚,所以特意测试了下cookie和domain之间的关系,下面是一些测试结果的总结
设置cookie
非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不能设置其他二级域名的cookie,否则cookie无法生成。
顶级域名只能设置domain为顶级域名,不能设置为二级域名或者三级域名,否则cookie无法生成。
如www.abc.com能设置domain为abc.com或者www.abc.com,但不能设置domain为news.abc.com,这样cookie不会生成。
hc.Domain = "news.abc.com";//
hc.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(hc);//==========这样cookie无法生成
abc.com只能设置domain为abc.com,不能为www.abc.com等2级域名,如果设置为其他domain二级域名,cookie无法生成。
hc.Domain = "www.abc.com";///
hc.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(hc);//==========这样cookie无法生成
未指定domain时,默认的domain为用哪个域名访问就是哪个,如果为顶级域名访问,那么可以被其他2级域名共享。
读取cookie
二级域名能读取设置了domain为顶级域名或者自身的cookie,不能读取其他二级域名domain的cookie。所以要想cookie在多个二级域名中共享,需要设置domain为顶级域名,这样就可以在所有二级域名里面或者到这个cookie的值了。
顶级域名只能获取到domain设置为顶级域名的cookie,其他domain设置为二级域名的无法获取。
删除cookie
1)顶级域名的cookie在顶级域名或者2级域名都可以删除,但是用非顶级域名访问的网站要删除顶级域名的cookie,需要设置获取到的cookie的domain为顶级域名,这样才能删除顶级域名的cookie,否则无法删除,默认的会删除访问的域名下对应的cookie,而不是顶级域名的。
if (hc != null)
{
hc.Domain = "abc.com";/指定为顶级域名则可以在其他二级域名中删除顶级域名的cookie,否则默认删除的是本域名下的cookie
Response.Write("删除域名Cookie!
");
hc.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(hc);
}
2)删除2级域名自身生成的cookie不需要设置domain,可以直接删除。
下面为完整的测试示例,大家自己可以测试一下,注意后面标注了/的代码,这些是关键,也注意修改修改代码中设置的域名,我这里为了方便,直接设置了系统hosts文件将abc.com作为测试。
<script runat="server">
private void SetCookie(string name,string value,string domain)
{
HttpCookie hc = new HttpCookie(name, value);
hc.Domain = domain;
hc.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(hc);
}
private void ReadCookie(string name)
{
HttpCookie hc = Request.Cookies[name];
if (hc != null) Response.Write("设置的Cookie为:" + hc.Value+"|"+hc.Domain);
else Response.Write("Cookie值为空!");
}
private void DeleteCookie(string name,string domain)
{
HttpCookie hc = Request.Cookies[name];
if (hc != null)
{
hc.Domain = domain;
Response.Write("删除域名Cookie!
");
hc.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(hc);
}
}
protected void Page_Load(object sender, EventArgs e)
{
// SetCookie("abc", "abc.com--" + DateTime.Now.ToString(), "www.abc.com");
ReadCookie("abc");
// DeleteCookie("abc","abc.com");
}
script>
转载于:https://www.cnblogs.com/w10234/p/5415946.html
顶级域名和二级域名共享cookie及相互删除cookie相关推荐
- php5.6 开二级域名,PHP二级域名session共享方案
一般来讲网站都会有主站和子站,比如域名是linuxidc.com,那么一般来讲linuxidc.com和www.linuxidc.com就会是主站,而像bbs.linuxidc.com就会作为论坛而存 ...
- SSL证书绑定了顶级域名后二级域名还需再申请吗
现在普遍情况下,SSL证书都是需要与域名绑定的,不少企业为了拓展业务的需要,很多情况下网站都存在有多个二级域名.那要是在顶级域名已绑定了SSL证书的前提下,那些企业网站的二级域名还需要申请吗? 这个问 ...
- 根域名、顶级域名、二级域名_找到出售顶级域名的7个最佳地方(+专家提示)
根域名.顶级域名.二级域名 We have been often asked by many readers about the best places to find premium domain ...
- 域名管理系统 二级域名_域名系统简介
域名管理系统 二级域名 by Sumedh Nimkarde 由Sumedh Nimkarde 域名系统简介 (An introduction to the Domain Name System) Y ...
- 一级域名和二级域名的区别是什么?作用怎样?
顶级.二级.三级域名的区别和构成 顶级.二级.三级域名的区别 一个完整的域名由二个或二个以上部分组成,各部分之间用英文的句号"."来分隔,最后一个"."的右边部 ...
- MVC利用Routing实现多域名绑定一个站点、二级域名以及二级域名注册Area
最近有这么个需求:在一个站点上绑定多个域名,每个域名进去后都要进入不同的页面.实现了这个功能以后,对于有多个域名,且有虚拟空间,但是虚拟空间却只匹配有一个站点的用户来说,可以节省很多小钱钱. 很久以前 ...
- 一级网站域名与二级域名的区别,如何注册网站一级域名
很多人分不清楚网站的一级域名和二级域名,听到说域名还分级的时候总是一脸问号.今天小编就来跟大家说说有关域名的等级,特别是一级域名和二级域名之间的区别,一级如何注册网站一级域名. 网站域名的分级及一二级 ...
- 一级域名和二级域名的差异
一级域名又称顶级域名 www.def.com这种形式的域名并不是一级域名,他只是一个二级域名,www只是一个主机名 真正的一级域名是由: 一个合法字符串+域名后缀组成, def.com这种形式的域名才 ...
- 一级域名与二级域名的区别
今天别人问道一级域名与二级域名的区别时,我既然啥也不知道,所以特地到了解了一下 什么是一级域名 一级域名又称为顶级域名,大家需要注意的是,www.lisp.com这种形式的域名并不是一级域名,它只是一 ...
最新文章
- 一份平民化的应用性能优化检查列表(完整篇)--转
- Oracle编程入门经典 第10章 PLSQL
- 关于小型长周期项目的一些建议
- 滚动焦点图实现原理和实践[原创视频]
- Java基础day16
- 2006年软件500强
- c语言中线程的特性,具有C 11多线程的特征库
- ezcad旋转轴标刻参数_激光打标机软件ezcad中地球仪标刻使用方法教程详解
- 软件自动安装管理器 -提供源码下载
- Python3.6实现付费酷狗音乐免费下载(已用tkinter封装GUI)
- 打印1000张大概多少钱,打印费多少钱一张
- WindowsMac本地搭建Code-Push-Server热更新服务器
- 量化交易之股票数据的获取——同花顺软件
- OC桥接Swift学习记录
- 安装谷歌插件,程序包无效,解决方法
- 流氓与骗子的斗嘴(转)
- 不可不看:管理定理一网打尽
- javascript join()
- python列表生成式
- 【mac】nvm 的安装和使用,解决mac重启node not found,每次都得source ~/.bash_profile
热门文章
- 一个MD4在线加密脚本源码
- 合成谬误与公地悲剧(为何设置产品总监职位及核算名义成本)
- 守住你自己的“沉香”
- Jmeter如何进行http接口测试
- kali linux 数据源,kali Linux msf5 连接数据库 No database support
- Spring MVC 自定义验证器示例
- sql查询每科成绩的最高分_数据分析SQL查询:一文带你入门到掌握
- 做好前端的话HTML和CSS基础必须夯实!
- 软件加入使用时间_Mac实用菜单栏管理小工具 Bartender 3 | Mac软件天堂
- Java教程:Java输出杨辉三角形