Cookie"安全"标志如何工作?

ted*_*ted 91 cookies http session-cookies

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

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

Cra*_*lus 85

客户端仅为加密连接设置此项,这在RFC 6265中定义:

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

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

  • 如果客户端还没有cookie并且它们应该从服务器端发送(例如登录),服务器端是否会决定在响应中包含cookie? (4认同)
  • 服务器最初通过"Set-Cookie headers"设置cookie (2认同)

Ala*_*blo 44

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

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

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

  • 我知道这是旧的,但HSTS预加载通过防止频繁发生此问题来帮助这种情况.它仍然不是100%修复,但如果你真的想避免安全cookie,它只是另一件需要考虑的事情. (6认同)
  • @ Mr.MonoChrome为什么要避免安全cookie? (4认同)