安全的 HTTP 标头

信息安全 http 网络服务器
2021-08-19 10:25:24

本文中,示例显示

... HttpOnly;Secure

但是,检查我的服务器响应显示

... Secure;HttpOnly

这可能是一个愚蠢的问题,但是顺序重要吗?

谢谢

1个回答

根据RFC 6265 第 5.2 节,Set-Cookie 标头的各个属性以它们被发现的任何顺序进行处理,并且SecureHttpOnly属性仅用于设置离散值,两者之间没有引用或关系:

  1. 如果 cookie-attribute-list 包含属性名称为“Secure”的属性,请将 cookie 的 secure-only-flag 设置为 true。否则,将 cookie 的仅安全标志设置为 false。

  2. 如果 cookie-attribute-list 包含属性名称为“HttpOnly”的属性,请将 cookie 的 http-only-flag 设置为 true。否则,将 cookie 的 http-only-flag 设置为 false。

所以,不,根据 RFC,它们列出的顺序无关紧要。每个都将设置一个标志,而不管另一个是否存在、存在或以不同的顺序。

我也从未听说过关心订单的实现(虽然我确定某事,某处,不知何故,弄错了 - 我不会担心)。

请注意,这与@BadSkillz在他的评论中引用的问题略有不同——这与标题的顺序有关;这与特定标头中的字段顺序有关。

...

完全巧合的是,我今天在我的一个系统上为 F5 ASM cookie 启用了 Secure 和 HttpOnly 标志。F5 ASM 将添加两个 cookie 来帮助实现它的 WAF-y 魔法。启用它后,我立即进行了测试,这些是他们发送的 cookie(... 宽度):

Set-Cookie: TS01145f87=01ca34131874c763...6207; Path=/; Secure; HTTPOnly 
Set-Cookie: TS013fdbf2=01ca341318b0cba9...b198; path=/ui/; HTTPonly; Secure

因此,对于一个配置点的软件设置的两个cookie,它最终具有不同的属性顺序。