Cookie“安全”标志如何工作?

时间:2012-12-05 18:15:38

标签: http cookies session-cookies

我知道带有secure标志的cookie不会通过未加密的连接发送。我想知道这是如何深入的。

谁负责确定是否会发送cookie?

2 个答案:

答案 0 :(得分:76)

客户端仅为加密连接设置此选项,这在RFC 6265

中定义
  

Secure属性将cookie的范围限制为“安全”通道(其中“安全”由用户代理定义)。当cookie具有Secure属性时,仅当请求通过安全通道(通常是HTTP over Transport Layer Security(TLS)[RFC2818])传输时,用户代理才会在HTTP请求中包含cookie。

     

尽管看起来对保护活跃网络攻击者的cookie非常有用,但Secure属性仅保护cookie的机密性。活动网络攻击者可以从不安全的通道覆盖安全cookie,破坏其完整性(有关详细信息,请参阅第8.6节)。

答案 1 :(得分:36)

关于这个问题的另一个词:

省略secure因为您的网站example.com完全是https是不够的。

如果您的用户明确到达http://example.com,他们将被重定向到https://example.com,但现在已经太晚了;第一个请求包含cookie。