繁体   English   中英

为什么会出现在某些站点上,您可以在http://mysite.com下登录,然后转到http://www.mysite.com却没有登录?

[英]how come on some sites you can log in under http://mysite.com and then when you go to http://www.mysite.com you're not logged in?

当我登录某些网站时,例如。 http://mysite.com ,然后转到http://www.mysite.com ,我没有登录? 但是,如果我切换回http://mysite.com (不带www),是否可以再次登录?

有谁知道这是为什么或如何做到这一点,因此,如果您登录一个,则同时登录两者?

谢谢,
马特

www.mysite.com和mysite.com这两个URL是单独的域(分别是域和子域)。 通常,站点会将两个域都指向同一个站点-因此,站点的用户不会感到困惑。 登录时,可能在浏览器上设置了一个cookie来识别您的身份,但该cookie仅与您登录的域相关联。这是预期的行为。

设置cookie后,它们默认为路径,该路径可以限制在某些子域中,也可以包含在所有子域中。

在这里,您尝试读取来自不同子域的cookie,并且可能无法访问它们,因为它们是在另一个子域上设置的,而未指定它们可以在www上使用。 子域。

通过cookie的登录会话与域名绑定。 “ www.sitename.com”和“ sitename.com”本质上是不同的名称。

一种快速的方法是将所有请求从一个站点重定向到另一个站点,并具有一致的域名。

如果设置了cookie但未指定domain属性,则浏览器会将其与设置cookie的域相关联。

如果您想为所有子域设置一个cookie(包括用于保存会话ID的cookie),则需要将domain属性设置为“ .domain.com”,请注意前导点,该点允许浏览器以匹配任何以domain.com结尾的域。

话虽这么说,一种更好的解决方案是将用户强制到一个域或另一个域,并且不允许两者同时使用(也许通过将一个域重定向到另一个域)。 如果您同时允许两者,则用户最终可能会多次下载可缓存对象,而不是从缓存中使用它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM