首页 > 其他分享 >HttpOnly的笔记

HttpOnly的笔记

时间:2023-12-30 20:11:27浏览次数:37  
标签:HTTP 笔记 cookie 设置 Cookie 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属性;

资料

标签:HTTP,笔记,cookie,设置,Cookie,HttpOnly,属性
From: https://www.cnblogs.com/jackieathome/p/17936473.html

相关文章

  • 【技术探讨】无线通信模块拉距测试,是否一定要带笔记本电脑?
     用户购买无线模块后,一般第一步就是进行拉距测试,通常是准备2个笔记本电脑,一部电脑是放在在办公室有人值守,另外一部电脑在外场,双方使用手机或微信进行实时沟通测试结果,对于Sub-G的无线模块通常通信距离较远可以达到公里级甚至数公里之远,而笔记本的续航时间通常是2-3个小时,很多用户......
  • docker笔记之安装
    本文于2017年上半年完成,发布在个人博客网站上。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。最近由于工作关系,接触到了docker技术。为了对docker有更多的了解,于是花时间在家里的Windows10机器上准备了docker的运行环境,方便在业余时间学习新技......
  • Markdown学习笔记
    Markdown学习标题的运用井号加空格后面输入要输入的标题内容字体的运用前后两个星号*中间是字体【是加粗】前后三个星号中间是字体【是加粗并倾斜】*废弃线的运用前后是两个波浪线中间是字体。列:今天来学习养猪的知识~~~~引用的运通大于号加空格,用于引用他......
  • python学习笔记4(print复杂语法、input、注释、代码缩进)
    上一节学习了概述、开发工具、编写方法、print简单语法本节内容:(一)print复杂语法1、多条print输出到一行显示print('北京',end='---->')print('欢迎你')2、使用连接符连接多个字符串+不能连接数据值和其他类型print(192,168,1,1,sep='.')#多个字符串通过.间隔print('北京欢迎你'+'2......
  • 我的MySQL优化学习笔记
    我的MySQL优化学习笔记这是我自己的学习记录笔记,方便自己后续翻看,(如需要)也可共享出来供大家参考。一、优化概述1.优化的目的是什么?通过配置使现有的软件和硬件获得最佳性能【典型】寻求机会该进MySQL软件本身开发自己的存储引擎和硬件设备来扩展MySQL生态系统2.从哪里......
  • 《软件需求十步走》阅读笔记三
     开发因需求而来,需求开发以需求规划的成果为主要依据。软件需求开发首先要做的是获取需求,得到目标、系统关联情况以及用例的分析;其次是需求分析,软件系统的可行性、用户接口、系统功能、数据、优先级等这些都在需求分析之列;然后汇总成需求分析规格说明书;最后在进行需求测评,制定具......
  • system笔记
    system("pause")可以实现冻结屏幕system("CLS")可以实现清屏操作调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。例如,用system("color0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6......
  • 《重构:改善既有代码的设计》读书笔记三
    7、FeatureEnvy(依恋情结)函数对于某个类的兴趣高过对自己所处类的兴趣。把这个函数移至另一个地点,移到它该去的地方。MoveMethod(搬移函数)如果一个函数用到几个类的功能,则该判断哪个类拥有最多被此函数使用的数据,然后就把这个函数和那些数据摆在一起。ExtractMethod(提炼函......
  • 读书笔记
    《软件工程—实践者的研究方法》读书笔记第三部分是质量管理。什么是质量?质量是一个复杂多面的概念,设计质量和符合质量两方面都需要软件工程师考虑。质量很重要,但是用户不满意,其他的事就都不重要了。这是RobertGlass给出的一个“直观的公式”:用户满意度=合格的产品+好的质量......
  • 陈峻宇高级图论讲课笔记
    离线哩!竞赛图竞赛图确实抽象,性质一堆一堆的,想不明白……而且多半都和强连通分量有关系。兰道定理考虑一共有\(n\choose2\)条边,那么\(\sumout_x=\binomn2\)。兰道定理大致就是如果竞赛图强连通,那么:\[\not\existsk\in[1,n),\sum_{x=1}^kout_x=\binomk2......