了解HTTPOnly标志的预期行为

时间:2012-05-22 08:24:29

标签: xss setcookie httpcookie httponly

我对cookies中的HTTPOnly属性略有不满。我知道它的主要用途是防止XSS攻击。让我们假设有一个web应用程序已经为cookie启用了httponly。为此,我使用了像Fiddler这样的拦截代理。但是在所有后续事务中,cookie都没有附带httponly标志。这是一个像设置它一样的功能,整个会话都在httponly标志下...或者这是一个实现缺陷。但是,当通过cookie管理器插件监控时,属性显示已启用httponly。我的问题是,如果它启用了为什么cookie管理器显示它已启用而不是拦截代理,这是正常的预期行为还是错误的实现。请帮我理解。

1 个答案:

答案 0 :(得分:3)

HttpOnly由服务器在Set-Cookie标头中发送,以指示浏览器不要使cookie可用于javascript。浏览器仍然会通过http连接发送它。 Set-Cookie标头可以包含各种各样的Cookie指令,比如它们到期时,它们用于哪个域,哪条路径,它们是否应该只通过https(安全标志)和HttpOnly发送。这些都是从服务器到浏览器的指令,因此浏览器在每次请求时都不会将它们发送回服务器。