HttpOnly Cookie 标志

什么是 HttpOnly Cookie 标志?

大多数不熟悉“HttpOnly”cookie 标志的人只能在对其网站进行安全检查时才发现该术语。如果您完全不知道这个 cookie 标志是什么(以及它对您的网站有什么作用),那么 CookieScript可以为您提供详细信息。

HttpOnly Cookie 标志有什么作用?

HttpOnly cookie 标志通常添加到可能包含有关用户的敏感信息的 cookie 中。本质上,这种类型的标志告诉服务器不要泄露嵌入脚本中包含的cookie 信息。HttpOnly还告诉服务器,标记的 cookie 中包含的信息不应传输到服务器之外。此标志对于保护可能在跨站点请求伪造(CSRF) 攻击期间或代码中存在导致跨站点脚本(XSS)的缺陷时受到损害的安全信息尤其重要。这两种情况都可能导致用户数据泄露给黑客。 

添加HttpOnly在 cookie 可能被意外或有意透露给第三方的情况下很有用,但在您不应该使用 HttpOnly 标志时有一些值得注意的例外情况。继续阅读以了解何时应该和不应该使用 HttpOnly 标志来保护 HTTP cookie。

简而言之,HttpOnly标志使客户端脚本(如 JavaScript)无法访问 cookie。这些 cookie 只能由处理请求的服务器编辑。

 

这就是CookieScript(基于 JavaScript 的解决方案)无法使用 HttpOnly标志控制 cookie 的主要原因。这些 cookie 应分配给严格必要的 cookie 类别或在服务器端进行控制。

何时使用 HttpOnly

假设您的网站专门使用 HTTPS(安全超文本传输​​协议)。除了 HttpOnly 标志之外,您可能还想使用“安全”cookie 标志。只要您不运行 javascript 来收集网站流量数据或分析,那么您就可以使用 HttpOnly 为您的网站提供额外的保护层。HttpOnly 标记在出于某种原因尚未采用 HTTPS 协议的网站上特别有用。

简而言之,您应该始终谨慎地使用安全HttpOnly标记运行 HTTPS,也就是说,除非您知道您的 javascript 需要 cookie 访问才能正常运行。

何时使用 HttpOnly

HttpOnly 标志似乎是保护网站上所有 cookie 信息的可靠方法,那么为什么不简单地将每个 cookie 标记为 HttpOnly 呢?与看起来不错的想法相反,有一些值得注意的例外情况是你不应该依赖这个 HTTP cookie 标志的保护——它们都与 javascript 有关。

  • 使用 javascript 进行分析。如果您在您的网站上运行 javascript 并且框架依赖于 cookie 来运行,那么在您的代码中使用 HttpOnly 标志实际上会破坏您的安全性并可能导致 javascript 出现问题。
  • 使用 javascript 获取页面状态。如果您网站的页面状态依赖于 javascript 来解释和修改您的 cookie 值,则这种站点类型的站点架构可能无法与 HttpOnly 一起使用,并且可能会使站点对跨站点请求伪造 (CSRF) 开放。在这种情况下,您应该省略 HttpOnly 标志,而只需将安全标志与 HTTPS 协议一起使用。
如有疑问,如果您的网站受 HTTPS 保护,则安全标志应优先考虑。而且,只要您不运行 javascript,HttpOnly 就可以作为额外的保护层。 

猜你喜欢

转载自blog.csdn.net/allway2/article/details/126120796