首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php setcookie域

php setcookie域
EN

Stack Overflow用户
提问于 2010-02-18 06:45:35
回答 3查看 52.9K关注 0票数 25

一些应用程序,不是我写的,也不是用PHP语言编写的,它为域"www.domain.com“创建了一个cookie。

我在试着替换那块饼干。所以在php中我这样做了:

代码语言:javascript
复制
setcookie('mycookie','mydata',time() + 2*7*24*60*60,'/','www.domain.com', false);

但是,生成的cookie是为域".www.domain.com“创建的,请注意点”。在域的前面。

所以它不会替换它,它会创建另一个cookie。我能做什么?

EN

回答 3

Stack Overflow用户

发布于 2010-02-18 18:29:40

如果您指定了域,则应遵循RFC 2109并在该域前加上一个点;否则客户端将这样做。但是,如果您根本不指定域,客户端将获取请求的域。

票数 7
EN

Stack Overflow用户

发布于 2019-09-22 00:08:49

这不是像个bug吗?如果我希望我的cookie只在www.example.com上,而不是在something.www.example.com上,该怎么办?例如,为了性能。我应该能够指定Cookie域,而不是所有子子域的通配符。更不用说它引起的大量bug了,例如,用php设置cookie,然后用JavaScript删除它(这不会加上愚蠢的点)。

票数 1
EN

Stack Overflow用户

发布于 2010-02-18 11:53:51

尝试创建几个具有相同名称但不同域的其他cookie。示例:

代码语言:javascript
复制
setcookie('mycookie','mydata1',time() + 2*7*24*60*60,'/','www.domain.com', false);
setcookie('mycookie','mydata2',time() + 2*7*24*60*60,'/','www.domain.com', false);
setcookie('mycookie_top','mydata1',time() + 2*7*24*60*60,'/','domain.com', false);
setcookie('mycookie_top','mydata2',time() + 2*7*24*60*60,'/','domain.com', false);

然后在Firebug中检查由这些命令创建的cookie。如果你一直得到一个双cookie,那么这可能是PHP中的一个bug。另外,尝试在javascript代码中设置cookie,看看是否仍然有相同的问题。

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

https://stackoverflow.com/questions/2285010

复制
相关文章

相似问题

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