2011-04-15 57 views
0

我们有2个测试环境,分别是:在测试领域写作的cookie和阅读它的第二内部域

下面是关于“test.example.com”域名写入该cookie。用户将到达将cookie写入他们计算机的页面,然后他们将点击一个链接,将它们带到“test-example”,这是我们的内部测试域。我观察到他们离开“test.example.com”并被带到我们的内部测试域“测试示例”时,cookie没有遵循,因此我无法读取cookie。

任何人都可以帮助我的代码,允许在我们的内部测试域读取cookie?

<script type="text/javascript"> 
var cookieName = 'HelloWorld'; 
var cookieValue = 'HelloWorld'; 
var myDate = new Date(); 
myDate.setMonth(myDate.getMonth() + 12); 
document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate 
                  + ";domain=.example.com;path=/"; 
</script> 

回答

3

Cookie不能跨域共享。这是互联网安全的佃农。

这里就是你可以信息:

+0

测试闪存cookie,这非常有趣!这应该对我们很好,但最终,我们应该在列出的子域中拥有我们的开发环境。伟大的建议! – Evan 2011-04-15 20:50:24

+0

@Evan很高兴你喜欢它:)我同意子域是长期更好的解决方案。 – Elad 2011-04-15 20:58:39

1

这是不可能的。这些网站不共享顶级域名(TLD),如果网站能够说“将我的Cookie发送给您访问的每个网站”,它的效率会非常低(从安全的角度来看有点风险)。

将内部测试站点移动到internal.test.example.com并参见setting cross-subdomain cookie with javascript

+0

移动到子域是我们最终将使用该解决方案。谢谢! – Evan 2011-04-15 20:51:07