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. HDOJ3085 Nightmare II 双向BFS

    重构一遍就A了...但这样效率太低了...莫非都要重构???QWQ 每一秒男同志bfs3层,女同志bfs1层.注意扩展状态时,要判一下合不合法再扩展,而不是只判扩展的状态合不合法,否则有可能由非法的走 ...

  2. HDU 6351 (带技巧的暴力)

    题意:给定一个数,和一个最多交换次数k,问在不超过k次操作的情况,问可以得到的最大值和最小值是多少? 个人解题的艰辛路程 , 开始是想到了暴力枚举的可能 , 打出来发现在判断枚举的数组与原来数组交换了 ...

  3. 通过CMD命令设置网络参数

    在微软的Windows系统中,一般情况下都是在可视化界面中设置IP地址和DNS的,进入“本地连接”->“属性”->“TCP/IP协议”,设置IP和DNS.但有些情况是没有这个权限的,比如在 ...

  4. Http多线程下载文件

    package unit; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputSt ...

  5. 盒子绝对定位 position:foxed ; 居中

    方法1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  6. HexChat访问Docker频道

    1.使用HexChat登录Freenode.net 2.在Freenode下输入并回车: /msg NickServ REGISTER yourpassword youremail@example.c ...

  7. filter get乱码 全站编码解决 包装模式

    包装模式简介: package com.itheima.test; import java.io.BufferedReader; import java.io.IOException; import ...

  8. Ubuntu(Linux) 下 zip 命令使用详解

    1.功能作用:压缩文件或者目录 2.位置:/usr/bin/zip 3.格式用法:zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfi ...

  9. org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.

    今天报了这个异常,这是页面报的 org.springframework.dao.DataIntegrityViolationException: could not execute statement ...

  10. TOJ 2861 Octal Fractions

    描述 Fractions in octal (base 8) notation can be expressed exactly in decimal notation. For example, 0 ...