HttpOnly的笔记

简介: `HttpOnly`是Cookie的一个属性,用于防止JavaScript访问Cookie值,增强安全性。服务器通过`Set-Cookie`设置,如`Set-Cookie: name=value; HttpOnly`。在Tomcat 7.0.x及以上版本,可在`web.xml`配置`<http-only>true</http-only>`。检查HttpOnly是否生效,可使用Chrome调试器查看Cookies,HttpOnly列有对勾表示生效。

HttpOnly是什么

简单的说:

  • HttpOnly是Cookie的属性;
  • Web服务器通过为Cookie设置这个属性,告诉浏览器应当避免页面端的脚本访问对应Cookie的值,保证被Cookie承载的敏感信息不被恶意读取;
  • Web服务器可以保存一些用户的敏感数据到Cookie中,实现比如SSO的功能;
  • 当然是否安全,光靠Web服务器设置HttpOnly属性是没有用的,浏览器需要按要求支持这个属性,否则仍然存在安全问题。

为Cookie设置HttpOnly属性的语法如下。

Set-Cookie: <name>=<value>[; <name>=<value>]
[; expires=<date>][; domain=<domain_name>]
[; path=<some_path>][; secure][; HttpOnly]

如何设置

对于Tomcat 7.0.x以上的版本,可以在应用的web.xml文件中增加如下配置。

<session-config>
  <cookie-config>
    <http-only>true</http-only>
    <secure>true</secure> <!-- 启用HTTPS后,建议配置这行,仅在安全通道时传输Cookie,提升安全性 -->
  </cookie-config>
<session-config>

查阅Apache Tomcat官方Cookie类的文档,可以发现从7.0.x版本可以通过Cookie类对象的API来设置httpOnly属性。

/**
 * Sets the flag that controls if this cookie will be hidden from scripts on the client side.
 */ 
setHttpOnly(boolean httpOnly)

如何判断HttpOnly是否生效

打开Chrome调试器的Resources面板,在左边选择Cookies,这时在右边可以看到Chrome缓存的cookie数据。

注意观察HTTP、Secure列:

  • 如果HTTP列有对勾,说明对应行的cookie设置了HttpOnly属性;
  • 如果Secure列有对勾,说明对应行的cookie设置了secure属性;
相关文章
|
8月前
|
存储
12JavaWeb基础 - Cookie技术
12JavaWeb基础 - Cookie技术
35 0
|
3天前
|
存储 安全 C#
详细解读Cookie学习笔记
详细解读Cookie学习笔记
12 3
|
8月前
|
存储 JavaScript 前端开发
什么是 cookie 的 httponly 属性
什么是 cookie 的 httponly 属性
|
JavaScript 测试技术 PHP
打Cookie小工具_BlueLotus_XSSReceiver
打Cookie小工具_BlueLotus_XSSReceiver
177 0
|
JavaScript 前端开发
cookie设置httponly是干什么的?底层原理是什么?
cookie设置httponly是干什么的?底层原理是什么?
1051 0
|
存储 前端开发 Java
Cookie | 学习笔记
快速学习Cookie.
Cookie | 学习笔记
|
Web App开发 存储 缓存
你真的知道Cookie?SameSite,Secure,Httponly
这两天(已经是一个多月前了) SF 上面很多 cookie 的问题,然后还有个 cookie 相关的付费问答。 所以咱们今天来这么一节,废话多说点,先说说大体问题方向。 跨域如何携带 cookie chrome 80 版本加强隐私。SameSite=Lax 为默认值,禁止了一部分场景携带 cookie。
475 0
你真的知道Cookie?SameSite,Secure,Httponly
|
存储 Web App开发 前端开发
60、Cookie
Cookie 是服务器保存在浏览器的一小段文本信息,一般大小不能超过4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。
193 0
|
Java 开发者
Cookie 入门|学习笔记
快速学习 Cookie 入门