cookie设置HttpOnly
2016-05-20 14:21
585 查看
1.什么是HttpOnly?
如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。XSS全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。
2.javaEE的API是否支持?
Servlet3.0支持,详细见:http://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/Cookie.html
3.HttpOnly的设置样例
非servlet3.0的JAVAEE项目也可以通过设置Header进行设置,格式如下:
例如:
//设置cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");
//设置多个cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");
response.addHeader("Set-Cookie", "timeout=30; Path=/test; HttpOnly");
//设置https的cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; Secure; HttpOnly");
具体参数的含义再次不做阐述,设置完毕后通过js脚本是读不到该cookie的,但使用如下方式可以读取。
Java代码
Cookie cookies[]=request.getCookies();
如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。XSS全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。
2.javaEE的API是否支持?
Servlet3.0支持,详细见:http://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/Cookie.html
3.HttpOnly的设置样例
非servlet3.0的JAVAEE项目也可以通过设置Header进行设置,格式如下:
response.setHeader("Set-Cookie", "cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");
例如:
//设置cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");
//设置多个cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");
response.addHeader("Set-Cookie", "timeout=30; Path=/test; HttpOnly");
//设置https的cookie
response.addHeader("Set-Cookie", "uid=112; Path=/; Secure; HttpOnly");
具体参数的含义再次不做阐述,设置完毕后通过js脚本是读不到该cookie的,但使用如下方式可以读取。
Java代码
Cookie cookies[]=request.getCookies();
相关文章推荐
- 关于HttpClient的总结
- centos7 php7 httpd
- Linux 4.4-4.6对TCP/IP协议栈的性能优化
- 《Linux4.0设备驱动开发详解》笔记--第十四章:Linux网络设备驱动
- 阿里云兼容测试 http://pi.aliyun.com/multibrowsers/index.htm
- SpringMVC源码剖析(五) - 消息转换器HttpMessageConverter
- TCP----socket通信
- 网络流二十四题之十七 —— 运输问题
- 网络编程之非阻塞connect编写
- 网络流二十四题之十九 —— 负载平衡问题
- http://www.360doc.com/content/12/0516/14/1671317_211422841.shtml
- HttpClient实现CSDN自动登录
- boost::asio::spawn 将一统C++网络库
- boost::asio::spawn 将一统C++网络库
- WinHttp编程初步心得
- IOS AFNetworking3.0 SDImage 网络请求和图片加载
- Http访问方式GET/POST的测试工具Postman
- 网络流二十四题之二十二 —— 火星探险问题
- 贪婪深度神经网络概述
- HTTP 头部解释