1

我有一个执行此操作的脚本:

window.open("http://www.myurl.com","myURL","width=400,height=200");

好的,这行得通。我设置了 cookie 和会话。用户只有在登录时才能访问我的页面。window.open()当我注销时,此页面将按预期将我引导至登录页面。

www当我拿出window.open()

window.open("http://myurl.com","myURL","width=400,height=200");

cookie 和会话不适用?即使我已经注销,我仍然可以进入该页面。

现在,当我myurl.com在原始浏览器中尝试时,它会将我定向到我应该在的登录页面。

任何想法为什么?我的意思是我可以将其设置为 www,但我想知道原因是什么?

谢谢

4

1 回答 1

2

我假设您正在使用 PHP 的setcookie()函数设置 cookie(因为这就是您对问题的评论)。

PHP 会将这些 cookie 设置为用户当前所在的域。如果用户是 on www.mysite.com,则 cookie 将仅应用于www.-subdomain。相反,您应该为域 PHP 设置 cookie:

setcookie('name', 'value', $time, '/', '.example.com') 

请注意前导点:.example.com,因为它表示通配符,因此 cookie 应用于example.com(即,www.example.comexample.com,以及您可能拥有的其他子域)的所有子域。

有关此函数的更多信息:PHP 文档

于 2012-08-09T05:21:19.913 回答