我正在开发一个从domain.ext提供的Web应用程序。此Web应用程序使用基于cookie的会话,并为用户提供在子域上托管包含自定义JavaScript的网页的功能,例如。 sub1.domain.ext,sub2.domain.ext。子域不使用cookie支持的会话。
鉴于此设置,是否可以确保以下内容?:
我已经测试了一些内容,例如,似乎可以通过在sub1.domain.ext窗口中运行document.domain = 'domain.ext'
来与sub1.domain.ext中的domain.ext的cookie进行交互。有没有办法防止这种情况,例如在从domain.ext设置域时指定某种策略?
答案 0 :(得分:3)
您无法通过设置example.com
参数来指定Cookie仅对domain
有效。如果您设置domain=example.com
,它将对*.example.com
生效。
在example.com
上设置Cookie而不使用 domain
参数在大多数浏览器中仅为example.com
设置Cookie。但不是IE。
因此,如果您希望子域名具有单独的Cookie上下文,则应仅从www.example.com
为您的网站提供服务。正如Gaby所说,当然,您仍然可以通过example.com
版本提供301重定向来支持www
访问。