window.open()URL有www。和饼干的问题

问题描述:

我有一个脚本,做这样的:window.open()URL有www。和饼干的问题

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

还好,这个工程。我有Cookie设置和会话设置。用户登录时只能访问我的页面。当我注销时,这个页面会引导我登录window.open(),正如预测的那样。

当我拿出在window.open()

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

的cookie和session不适www?即使我已经注销,我仍然可以进入该页面。

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

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

感谢

+2

您的cookies只适用于'www'范围。您可以在设置Cookie时定义范围,通常,您可以将其设置为“http:// *。myurl.com”,以便适用于所有子域。 – JCOC611 2012-08-09 04:10:46

+0

我已经设置我的cookie为“/”='setcookies(“name”,“value”,$ time,“/”)'这不适用于子域? – hellomello 2012-08-09 04:13:05

+0

我猜想这只会适用于你当前的子域名(所以如果它设置在“http:// www.myurl.com”,那么它只适用于这样的)。 – JCOC611 2012-08-09 04:25:42

我假设你正在使用PHP的setcookie()功能(因为这是你评论什么对你的问题)设置你的cookies。

PHP会将这些cookie设置为用户当前所在的域。如果用户位于www.mysite.com,则Cookie将仅应用于www. -subdomain。而应该给域PHP应该设置的cookie:

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

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

有关此功能的更多信息:PHP docs