首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止域名cookie被用于子域名?

如何阻止域名cookie被用于子域名?
EN

Stack Overflow用户
提问于 2011-09-14 16:52:44
回答 2查看 2.3K关注 0票数 4

我有一个以下域名的设置:

mydomain.com

www.mydomain.com

有一个问题(在Internet Explorer上测试):如果为mydomain.com设置了一些cookie,即使我为www.mydomain.com设置了相同名称的cookie,此cookie也对www.mydomain.com有效。

更具体的例子:

1)用户在网站mydomain.com上选择他喜欢的语言,然后我设置cookie usrlng=en

2)第二天,另一个人使用同一台计算机,导航到www.mydomain.com并选择他的语言,我设置了usrlng=de。但是Internet Explorer一直在向服务器发送cookie usrlng=en和usrlng=de (我在Fiddler中看到了这一点)!为什么它发送相同的cookie两次,而不是用subdomain值覆盖'usrlng‘?

同时,我看到子域的PHPSESSID被正确覆盖,没有两个PHPSESSID cookie被发送到服务器。

如何修复usrlng cookie并使其与PHPSESSID的工作方式相同?

EN

回答 2

Stack Overflow用户

发布于 2012-03-31 00:58:50

您还可以为每个...设置不同的save_path。所以他们不会共享会话。PHP示例:

代码语言:javascript
复制
$subdomain = array_shift(explode('.',$_SERVER['HTTP_HOST']));

ini_set('session.save_path','D:\website_sessions\'.$subdomain.'\');

ini_set('session.save_path','D:\website_sessions\'.$subdomain.'\');

PHP需要访问才能写入会话目录。

票数 3
EN

Stack Overflow用户

发布于 2011-09-15 16:20:12

现在,我通过设置cookie的'host‘而不是’domain‘解决了这个问题;允许'host’属性将cookie限制为mydomain.com或www.mydomain.com。

也许这是唯一的办法,' domain‘不能设置为oveeride顶级域cookie。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7413667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档