在 http 请求上保护 Cookie
Secure Cookies on http requests
在 http 请求上保护 cookie 会发生什么。它会因请求而丢失吗?如果 cookie 是安全身份验证 cookie,会发生什么情况?
RFC 6265 形式化了 HTTP cookie 的行为(因为它们在现实世界中工作,而不是理想情况下工作,不像以前失败的 RFC):
- Introduction
This document defines the HTTP Cookie and Set-Cookie header fields.
behavior of the "secure" flag 的描述如下:
4.1.2.5. The Secure Attribute
The Secure attribute limits the scope of the cookie to "secure"
channels (where "secure" is defined by the user agent). When a
cookie has the Secure attribute, the user agent will include the
cookie in an HTTP request only if the request is transmitted over a
secure channel (typically HTTP over Transport Layer Security (TLS)
[RFC2818]).
实际上只有通过 TLS 的连接(即 HTTP/S)被认为是安全的。 浏览器可以定义直接 HTTP 连接到主机“本地主机”或 IP定义为“本地”的地址(该 IP 堆栈的地址),如 127.0.0.1 或 ::1,或其他安全的本地地址。这符合规范的精神。 (我不知道实际这样做的浏览器。)
在 http 请求上保护 cookie 会发生什么。它会因请求而丢失吗?如果 cookie 是安全身份验证 cookie,会发生什么情况?
RFC 6265 形式化了 HTTP cookie 的行为(因为它们在现实世界中工作,而不是理想情况下工作,不像以前失败的 RFC):
- Introduction
This document defines the HTTP Cookie and Set-Cookie header fields.
behavior of the "secure" flag 的描述如下:
4.1.2.5. The Secure Attribute
The Secure attribute limits the scope of the cookie to "secure"
channels (where "secure" is defined by the user agent). When a
cookie has the Secure attribute, the user agent will include the
cookie in an HTTP request only if the request is transmitted over a
secure channel (typically HTTP over Transport Layer Security (TLS)
[RFC2818]).
实际上只有通过 TLS 的连接(即 HTTP/S)被认为是安全的。 浏览器可以定义直接 HTTP 连接到主机“本地主机”或 IP定义为“本地”的地址(该 IP 堆栈的地址),如 127.0.0.1 或 ::1,或其他安全的本地地址。这符合规范的精神。 (我不知道实际这样做的浏览器。)