在域和子域级别存储cookie,谁可以访问什么?

时间:2017-04-28 12:51:48

标签: security cookies

我有一个网站会让客户登录:

www.example.com/login

并将在此处执行其经过身份验证的任务

www.example.com/dashboard/

客户也将在此处拥有自己的面向公众的内容:

customer1.example.com

面向公众的内容是他们无法自己编写内容的地方,所以我担心他们是否会写一些javascript等以某种方式获取cookie信息,即他们编写javascript,以及当其他用户访问他们的网站时谁在www.example.com上进行了身份验证,javascript将抓取他们的会话cookie并将其发送到另一个网站。

当Cookie存储在根域和子域中时,它们是否可以在每个级别免费访问?

试图了解安全隐患。

1 个答案:

答案 0 :(得分:1)

您可以在Domain属性中指定的主机的所有子域访问Cookie。

如果设置Domain=example.com,则Cookie将可用于example.com的所有子域。

只有[{1}}和Domain=www.example.com的子域(例如www.example.com)才能访问包含www.example.com的Cookie。 - 如果您这样做,请不要担心。
但请注意,这也意味着无法从foo.bar.www.example.com访问它。

最严格的选项是省略example.com属性,完全不发送它。在这种情况下,cookie只能由发送它的主机名访问。也就是说,如果您从Domain发送,则只会将其发送回www.example.com,而不会发送回其子域。

RFC 6265, section 4.1.2.3中解释了这一点。