cookie的HTTPOnly属性,主要是用来防止JavaScript来读取cookie,默认情况下,JavaScript可以通过document.cookie来读取cookie,这样是很不安全的。通过配合XSS攻击,就可以达到盗取用户cookie的目的。这样的话,就可以在不知道用户密码的情况下,直接登陆用户的账号,现在很多网站都是使用coookie来保存用户名和密码信息的,非常不安全。

所以,出于安全考虑,我们最好是为cookie设置一下属性,让JS读取不到cookie,这样就会安全一些。Servlet 3.0一下,cookie的设置不支持HTTPOnly选项。我们可以通过其它的手段,来达到目的。

首先看一下没有为cookie设置HTTPOnly的情况,JS直接读取Cookie

请求一下Servlet,然后发现确实没有HTTPOnly属性

然后测试一下用JS访问Cookie

确实可以直接访问到Cookie信息,这样是非常不安全的,如果网站存在存储型或反射型的XSS漏洞,那么将会非常可怕,既然可以访问到cookie,那么肯定可以通过JS把cookie发送到一个地址,然后这个地址写一个页面接收JS发过来的请求,就拿到了用户的cookie!

下面我们开始为Cookie设置HTTPOnly属性

先清空一下原来的cookie,然后再去请求一下看看

我们看到HTTP一栏上面有一个对勾,然后我们再尝试使用JS访问一下Cookie

JS已经访问不到Cookie了,这样安全问题就解决了!

Servlet 2.5为cookie配置HTTPOnly属性的更多相关文章

  1. 关于Cookie 的HttpOnly属性(java/web操作cookie+Tomcat操作jsessionid)

    关于Cookie的其它只是不在累述.本文主要讲讲自己在项目中遇到的cookie的HttpOnly属性问题 Cookie的HttpOnly属性说明 cookie的两个新的属性secure和Httponl ...

  2. PHP设置COOKIE的HttpOnly属性

    httponly是微软对cookie做的扩展.这个主要是解决用户的cookie可能被盗用的问题. 大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次再访问其他页面 ...

  3. Session Cookie的HttpOnly和secure属性

    Session Cookie的HttpOnly和secure属性 一.属性说明: 1 secure属性 当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTT ...

  4. cookie的secure、httponly属性设置

    cookie的secure.httponly属性设置 转载自:http://www.cnblogs.com/alanzyy/archive/2011/10/14/2212484.html 一.属性说明 ...

  5. cookie工具类,解决servlet3.0以前不能添加httpOnly属性的问题

    最近在解决XSS注入的问题,由于使用的servlet版本是2.5,不支持httpOnly的属性,故做了个工具类来实现cookie的httpOnly的功能.全类如下: /** * cookie工具类,解 ...

  6. Cookie设置HttpOnly,Secure,Expire属性

    在eclipese中创建Web工程时,有个dynamic web module version选项,首先解释下这个选项的意思: http://stackoverflow.com/questions/3 ...

  7. 会话cookie中缺少HttpOnly属性 解决

    会话cookie中缺少HttpOnly属性 解决   只需要写一个过滤器即可 1 package com.neusoft.streamone.framework.security.filter; 2 ...

  8. cookie httponly属性

    Marks the cookie as accessible only through the HTTP protocol. This means that the cookie won't be a ...

  9. Java Servlet 2.5 设置 cookie httponly

    Servlet 3.0 有 cookie.setHttpOnly(true); 多么人性化, Servlet 2.5 是没有这个方法的要这个曲线救国:cookie.setPath("; Ht ...

随机推荐

  1. Hibernate Restrictions的运算符

    HQL运算符 QBC运算符 含义 = Restrictions.eq() 等于equal <> Restrictions.ne() 不等于not equal > Restrictio ...

  2. POJ - 3261 后缀数组 height应用

    题意:求最少重叠\(k\)次的重复子串的最大长度 子串长度问题依然是二分枚举,可以观察出重叠的一定是sa排序中连续的 之前想出一种判断要\(n^2\)的方法,没有考虑到后面肯定会连续出现的情况 (大概 ...

  3. [转] javascript 判断对象是否存在的10种方法总结

    [From] http://www.jb51.net/article/44726.htm Javascript语言的设计不够严谨,很多地方一不小心就会出错.举例来说,请考虑以下情况.现在,我们要判断一 ...

  4. 【研究】Joomla二阶注入

    受影响Joomla版本:3.7.0 到 3.8.3 1.下载安装Joomla3.8.3,登录后台管理系统:http://127.0.0.1/joomla/administrator/index.php ...

  5. PHP创建自己的Composer包方法

    原文地址:http://www.jb51.net/article/137923.htm

  6. zabbix CentOS7 配置安装

    一,LAMP+zabbix环境安装 官网: https://www.zabbix.com/download rpm -ivh https://mirrors.aliyun.com/zabbix/zab ...

  7. storm中KafkaSpout的选择

    Storm最常用的消息源就是Kafka,在对接的时候大多需要使用KafkaSpout: 在网上大概有两种KafkaSpout,一种是只有几十行,一种却有一大啪啦类文件. 在kafka中,同一个part ...

  8. Long 和 Integer

    Integer 32位 其范围为 -2^31 到 2^31-1 之间,所以最大值是 2^31-1 Long 64位

  9. SVM之Python实现

    SVM Python实现 Python实现SVM的理论知识 SVM原始最优化问题: \[ min_{w,b,\xi}{1\over{2}}{||w||}^2 + C\sum_{i=1}^m\xi^{( ...

  10. AtCoder Grand Contest 023 F - 01 on Tree

    Description 题面 Solution HNOI-day2-t2 复制上去,删点东西,即可 \(AC\) #include<bits/stdc++.h> using namespa ...