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属性;
相关文章
|
XML 存储 JSON
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
5495 3
JSON、JSONObject 与 JSONArray 详细介绍及其应用方式
|
Web App开发 开发工具 git
如何下载Github上的单个文件或者指定目录?
如何下载Github上的单个文件或者指定目录?
5765 0
如何下载Github上的单个文件或者指定目录?
|
存储 算法 定位技术
每个系统都在用的appid、appkey、appsecret都是什么意思?
每个系统都在用的appid、appkey、appsecret都是什么意思?
14725 0
|
7月前
|
运维 Kubernetes 应用服务中间件
一文讲解kubernetes的gateway Api的功能、架构、部署、管理及使用
Gateway API是Kubernetes官方推出的下一代L4/L7网络网关标准,面向角色(基础设施商、运维、开发)、可移植、表达力强且高度可扩展。它通过GatewayClass、Gateway、HTTPRoute等资源实现权限分离与策略即代码,替代Ingress短板,已获Istio、Envoy、ASM等主流支持。
2093 119
|
XML 安全 Apache
利用EXCEL进行XXE攻击
本文介绍了通过构造恶意 Excel 文件利用 XXE(XML 外部实体)漏洞的原理与实践。首先说明了文件如 Word、Excel 等以 ZIP 格式存储,包含多个 XML 文件的特点。当服务器未正确配置 XML 解析器时,可能导致文件泄露、远程代码执行或拒绝服务攻击等风险。接着详细描述了搭建测试环境的过程,包括使用 Apache POI 依赖读取 Excel 文件,修改 xlsx 文件中的 Content_Types.xml 添加外部实体引用,以及通过 DNSLog 验证漏洞存在。最后展示了如何利用外部 DTD 文件读取目标系统上的敏感文件,并将数据写入指定位置,完成攻击验证。
1626 5
利用EXCEL进行XXE攻击
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
16893 5
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
前端开发 JavaScript API
2025年前端框架是该选vue还是react?有了大模型-例如通义灵码辅助编码,就不用纠结了!vue用的多选react,react用的多选vue
本文比较了Vue和React两大前端框架,从状态管理、数据流、依赖注入、组件管理等方面进行了详细对比。当前版本和下载量数据显示React更为流行,但Vue在国内用户量增长迅速。Vue 3通过组合式API提供了更灵活的状态管理和组件逻辑复用,适合中小型项目;React则更适合大型项目和复杂交互逻辑。文章还给出了选型建议,强调了多框架学习的重要性,认为技术问题已不再是选型的关键,熟悉各框架的最佳实践更为重要。
12240 1
|
安全 算法 网络安全
一张图就把HTTPS工作原理讲明白了!
【10月更文挑战第31天】
7695 1
一张图就把HTTPS工作原理讲明白了!
|
Java
Burpsuite专业版安装(保姆级)教程
Burpsuite专业版安装(保姆级)教程
5071 0
|
存储 JavaScript 前端开发
敲黑板!vue3重点!一文了解Composition API新特性:ref、toRef、toRefs
该文章深入探讨了Vue3中Composition API的关键特性,包括`ref`、`toRef`、`toRefs`的使用方法与场景,以及它们如何帮助开发者更好地管理组件状态和促进逻辑复用。
敲黑板!vue3重点!一文了解Composition API新特性:ref、toRef、toRefs

热门文章

最新文章