cookie 设置二级域名共享cookie

好吧,无聊的时候就发下博客,记录最近的心得 

核心代码

document.cookie = sName + "=" + escape(sValue) + ";domain=.abc.com; expires=Fri, 31 Dec 2016 23:59:59 GMT; path=/"


完整代码

<script language="javascript" type="text/javascript">
function SetCookie(sName, sValue)
{
var a=sValue;
document.cookie = sName + "=" + escape(sValue) + ";domain=.abc.com; expires=Fri, 31 Dec 2016 23:59:59 GMT; path=/"
}
function GetCookie(sName)
{
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
var aCrumb = aCookie[i].split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
return 0;
}
function DelCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=GetCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
function changeWindow(){
var widthh = document.body.clientWidth;
if(widthh < 1002){
document.getElementById("mybody").className='width1002';
}
}
</script>
效果,所有abc.com的二级域名均可以实现共享cookie,可以做一些登录相关的事情

转载于:https://my.oschina.net/7shell/blog/144360

### 如何在二级域名设置Cookie 为了使不同子域之间共享 Cookie,在创建 Cookie 时需指定 `Domain` 属性。该属性定义了哪些主机名可以访问此 Cookie。对于希望多个子域间共享的情况,应该把 Domain 设置成主域名前加上点号的形式。 当服务器响应 HTTP 请求并打算向客户端发送一个新的 cookie 或更新现有 cookie 的时候,会通过 Set-Cookie 响应头来完成操作[^1]。具体来说: - 对于想要让 a.example.com 和 b.example.com 这两个子域能够互相读取对方所设下的 cookie,则应当将 domain 参数设定为 .example.com。 ```python import http.cookies def set_cookie(response, key, value, max_age=3600): """ Sets a cookie with the given parameters. :param response: The HTTP response object to attach the cookie header to. :type response: HttpResponse or similar :param str key: Name of the cookie. :param str value: Value stored in the cookie. :param int max_age: Maximum age before the cookie expires (in seconds). """ cookie = http.cookies.SimpleCookie() cookie[key] = value cookie[key]['domain'] = '.example.com' # Note leading dot for cross-subdomain support cookie[key]['max-age'] = max_age cookie[key]['path'] = '/' response.headers.add('Set-Cookie', cookie.output(header='')) ``` 值得注意的是,如果尝试在一个已经存在的顶级域名上设置新的带有相同名称但是不同的路径或者其它参数的 cookie ,那么新旧两者将会共存而不是覆盖前者;因此建议确保每次修改都彻底删除之前的版本再重新建立[^3]。 另外需要注意浏览器的安全策略可能会阻止某些情况下跨站脚本攻击风险较高的行为,比如从 HTTPS 页面往 HTTP 下发 cookie 等情况,所以在实际开发过程中还需要考虑这些因素的影响[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值