cookie 上的secure标志可防止它们被不安全(非 HTTPS)站点读取,但仍可以从不安全站点写入或删除它们。有两个新的浏览器功能试图阻止这种情况:
在我看来,__Secure-前缀也使 cookie 严格安全。
这两个功能如何相互比较?为什么有两种不同的覆盖 cookie 的解决方案?如果我的客户的浏览器具有严格的安全 cookie 支持,我还需要 cookie 前缀吗?
cookie 上的secure标志可防止它们被不安全(非 HTTPS)站点读取,但仍可以从不安全站点写入或删除它们。有两个新的浏览器功能试图阻止这种情况:
在我看来,__Secure-前缀也使 cookie 严格安全。
这两个功能如何相互比较?为什么有两种不同的覆盖 cookie 的解决方案?如果我的客户的浏览器具有严格的安全 cookie 支持,我还需要 cookie 前缀吗?
严格安全 cookie 草案描述了严格安全 cookie的限制,其中 cookie 前缀可以提供帮助:
但是,本文档中的缓解措施并不能完全相信给定的 cookie 是安全设置的。如果攻击者能够在用户访问“https://example.com/”之前冒充来自“http://example.com/”的响应,则用户代理将接受不安全源设置的任何 cookie,因为“安全”cookie 不会出现在用户代理的 cookie 存储中。活跃的网络攻击者可能仍然能够使用此功能对“example.com”发起攻击,即使该站点仅使用 HTTPS。
如果还没有 cookie,则不安全的源可以设置安全 cookie,但不能设置前缀 cookie。因此,在使用实现严格安全 cookie 的浏览器时,cookie 前缀仍然是一个好主意。