写这篇的目的是,今天群里面提到了HttpOnly这个标签,所以专门的mark了下。

谁 在什么时候发明了HttpOnly

2002年微软为ie6的sp1创造了HttpOnly

什么是HttpOnly

HttpOnly是包含在http返回头Set-Cookie里面的一个附加的flag,所以它是后端服务器对cookie设置的一个附加的属性,在生成cookie时使用HttpOnly标志有助于减轻客户端脚本访问受保护cookie的风险(如果浏览器支持的话)

下面的例子展示了如何设置Set-Cookie 返回头的语法

Set-Cookie: =[; =]

[; expires=][; domain=]

[; path=][; secure][; HttpOnly]

如果HTTP响应标头中包含HttpOnly标志(可选),客户端脚本将无法访问cookie(如果浏览器支持该标志的话)。因此即使客户端存在跨站点脚本(XSS)漏洞,浏览器也不会将Cookie透露给第三方。

如果浏览器不支持HttpOnly,并且后端服务器尝试设置HttpOnly cookie,浏览器也会忽略HttpOnly标志,从而创建传统的,脚本可访问的cookie。那么该cookie(通常是会话cookie)容易受到XSS攻击

使用HttpOnly缓解最常见的XSS攻击

大多数XSS攻击都是针对会话cookie的盗窃。后端服务器可以通过在其创建的cookie上设置HttpOnly标志来帮助缓解此问题,这表明该cookie在客户端上不可访问。

如果支持HttpOnly的浏览器检测到包含HttpOnly标志的cookie,并且客户端脚本代码尝试读取该cookie,则浏览器将返回一个空字符串作为结果。这会通过阻止恶意代码(通常是XSS)将数据发送到攻击者的网站来使攻击失败。

java服务器设置HttpOnly

自从采用Java Servlet 3.0之上的容器,很容易在cookie上设置HttpOnly标志。实际上,setHttpOnly和isHttpOnly方法可在Cookie接口中使用,如下

Cookie cookie = getMyCookie("myCookieName");

cookie.setHttpOnly(true);

在WEB-INF/web.xml的设置如下

true

java httponly_HttpOnly是个什么鬼相关推荐

  1. JAVA设计模式什么鬼(代理)——作者:凸凹里歐

    代理,代表打理,以他人的名义代表委托人打理其本职工作之外或不所能及的事务,达成合作关系并更高效地促成事务完成的目的.例如明星经纪人,他们并没有像明星一样会唱歌.跳舞或演戏,而是替明星打理一些无暇顾及的 ...

  2. Java多线程之Synchronized详解

    一直以来对于Synchronized都比较迷惑,尤其还对于ReentrantLock并不了解他们之间的区别,今天闲来无事,学习了. 1,为什么要使用Synchronized 首先看Synchroniz ...

  3. Java中的 :: 是什么

    方法引用分为三种,可以通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方法引用,通过实例对象: ...

  4. 冰河连夜复现了Log4j最新史诗级重大漏洞,含视频和完整案例代码,全网最全,赶快收藏吧

    大家好,我是冰河~~ 周末与一些小伙伴交流的过程当中,发现一些小伙伴公司的项目中使用的Log4j版本还是2.14.0,我一听就有点震惊了:你们还在使用Log4j的2.14.0版本,这个版本存在重大漏洞 ...

  5. 字节跳动如何用7年, 成为腾讯最可怕的对手?

    点击上方"阿拉奇学Java",选择"置顶或者星标" 优质文章第一时间送达! 推荐阅读 | Java 里的 for (;;) 与 while (true),哪个更 ...

  6. java多线程中的死锁、活锁、饥饿、无锁都是什么鬼?

    转载自 java多线程中的死锁.活锁.饥饿.无锁都是什么鬼? 死锁.活锁.饥饿是关于多线程是否活跃出现的运行阻塞障碍问题,如果线程出现了这三种情况,即线程不再活跃,不能再正常地执行下去了. 死锁 死锁 ...

  7. java中null+““和null+null会等于什么鬼呢?

    在java中,null+""会等于什么鬼? null+""=? null+null又会等于什么鬼呢? null+null=? 直接上代码和截图. 注意:看如下代 ...

  8. 360行,行行转Java,这句话到底是什么鬼呢?

    做开发的小伙伴经常会听到一句话:360行,行行转Java,这句话到底是什么鬼呢?其实这句话就是讲入门Java的人非常多,不管是转行的,还是应届毕业生0基础的,选择编程开发时往往会选择Java作为首选, ...

  9. java foreach 原理_一不小心就让Java开发者踩坑的failfast是个什么鬼?

    1 什么是fail-fast 首先我们看下维基百科中关于fail-fast的解释: 在系统设计中,快速失效系统一种可以立即报告任何可能表明故障的情况的系统.快速失效系统通常设计用于停止正常操作,而不是 ...

最新文章

  1. java applet 官网_java applet
  2. Android ViewFlipper滑动屏幕切换
  3. Unity3D教程宝典之Web服务器篇:(第二讲)从服务器下载图片
  4. 重磅推荐几个接私活的利器!
  5. 遇到的坑_新手搭建web自动化遇到的坑...
  6. 硬件:串口的基础知识笔记
  7. 北电PBX资料_LD 24 進線直撥功能設定
  8. python考试搜题-大学mooc用Python玩转数据章节考试答案
  9. php tp写构造函数,详细介绍ThinkPHP中类的构造函数_construct()与_initialize()的区别
  10. 如何使用OSQP-Eigen
  11. 二维观察---曲线的裁剪
  12. Windows Serer2003域升级到Windows Server2008R2域
  13. leetcode python3 简单题9. Palindrome Number
  14. Mybatis在XML中写SQL比较运算符<=时报错解决方法
  15. AES-encryptor
  16. 想找一些外文文献,有哪些靠谱的外文文献网站推荐?
  17. 计算机英语词汇输入,常用计算机英语词汇:BIOS
  18. OSChina 端午节乱弹 ——用魔兽世界来祭奠青春
  19. 计算器表格边框java_表格边框探秘
  20. 网络攻防实战演习之蓝队指南

热门文章

  1. 测量电源纹波的方法(转)
  2. WordPress首页、分类、标签、文章、页面添加关键词和描述
  3. 马尔可夫决策过程-强化学习学习笔记(二)
  4. vue 点击添加多个input及多个关键字
  5. 基于LVM进行磁盘分区
  6. 经济危机下如何抉择去与留
  7. 中兴V5MAX双4G分区命令
  8. php搜索ttfb用时太长,waiting TTFB时间过长怎么办
  9. 知乎:不到 20 人的 IT 公司该去吗?
  10. S32K148 SDK3.0 PE配置 看门狗(WDOG)