这个关于 cookie 如何在子域之间易受攻击的问题的答案引发了我的好奇心。
据我所知,如果 cookie 设置在同一域 ( www.example.com/dogs
) 的子路径上,则任何其他路径都无法访问它,除非它是路径的子文件夹。即既不www.example.com/cats
也不www.example.com/
应该访问这些cookies,但www.example.com/dogs/labrador
会。
进一步阅读,我发现可以从不同的路径获取 cookie:
需要注意的是,路径限制不能防止未经授权从不同路径读取 cookie。它可以通过简单的 DOM 轻松绕过(例如,通过使用 cookie 的路径创建隐藏的 iframe 元素,然后访问此 iframe 的 contentDocument.cookie 属性)。由于相同的来源策略,保护 cookie 访问的唯一方法是使用不同的域或子域。
如果是这种情况,那么 cookie-path 提供什么安全性(甚至功能)?如果它可以使用 iframe 读取,为什么不能直接在 javascript 中访问?这种“限制”是否真的给人一种虚假的安全感?