我对我们的办公室dev的服务器是在防火墙后面。 主机名是富兰克林。 我们命名我们的科学家或发明家后的所有服务器。
当我设置一个HTTP cookie:
Set-Cookie: user=kenny; expires=1245424860.11; Path=/; domain=franklin
cookie不设置。 我已经试过,没有运气以下。
.franklin
.franklin.local
franklin.local
.franklin.localdomain
franklin.localdomain
我必须将主机名设置为不同的东西或我可以通过设置一些魔术我还不知道这个cookie?
RFC 2109说:
为了避免可能的安全或隐私的侵犯,用户代理会拒绝一个cookie(不存储它的信息),如果有以下为真:
- 为域属性的值不包含嵌入的圆点或不以点开始。
- 对请求主机的值不域匹配Domain属性。
并且:
域默认为请求主机。
如果你的主机是franklin
:
- 与饼干
domain=.franklin
将被拒绝,因为它没有嵌入点。 - 与饼干
domain=.franklin.local
将被拒绝,因为它不符合你的服务器的实际主机名。
解决的办法是重命名主机名以franklin.local
或franklin.<tld>
并设置domain
相应的cookie的属性( domain=.franklin.<tld>
另外(如你发现了),不指定domain
,让用户代理退回到请求主机。
你要为从右侧域的饼干吗? 你应该访问该网站上的http://富兰克林/否则将无法正常工作(见:同源策略)。