Cookie中设置了"HttpOnly"属性,有效的防止XSS攻击

1.什么是HttpOnly?

如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。

XSS全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。

为了降低跨站点脚本攻击的风险,微软公司的Internet Explorer 6 SP1引入了一项新的特性HTTP-only。 这个特性是为Cookie提供了一个新属性,用以阻止客户端脚本访问Cookie。

2.HttpOnly的设置样例

response.setHeader("Set-Cookie", "cookiename=httponlyTest;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");

3.处理办法

对 tomcat/conf/context.xml 修改

<Context useHttpOnly="true">

,以下为Apache官网描述
 refer :http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

useHttpOnly 
Should the HttpOnly flag be set on session cookies to prevent client side script from accessing the session ID? Defaults to false.

原文地址:https://www.cnblogs.com/xiaoliu66007/p/10118074.html

时间: 2024-11-05 19:05:27

Cookie中设置了"HttpOnly"属性,有效的防止XSS攻击的相关文章

cookie的secure、httponly属性设置

cookie的secure.httponly属性设置 转载自:http://www.cnblogs.com/alanzyy/archive/2011/10/14/2212484.html 一.属性说明: 1 secure属性 当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容. 2 HttpOnly属性 如果在Cookie中

浅谈HTTP Cookie 的 Secure 和 HTTPONLY属性

最近工作中遇到了关于cookie的secure及httponly属性的问题,所以关注并学习了一段时间,这里做一下简要记录.关于secure和httponly标志的用途可以参考wikipedia. 起因:系统PHP升级(5.1.7->5.4.5)并要求在下个升级后更新/etc/php.ini下的两个变量,设定值为1. Session.cookie_secure=1 Session.cookie_httponly=1 由此引发了这次调查,调查的内容涉及到了php自身cookie函数.开源框架Code

Cookie中的HttpOnly详解

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt377 1.什么是HttpOnly? 如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,具体一点的介绍请google进行搜索 2.javaEE的API是否支持? 目前sun公司还没有公布相关的API,但PHP.C#均有实现.搞javaEE的兄弟们比较郁闷了,别急下文有变通实现 3.HttpOnly的设置

关于Cookie安全性设置的那些事

一.标题:关于Cookie安全性设置的那些事 副标:httponly属性和secure属性解析 二.引言 经常有看到XSS跨站脚本攻击窃取cookie案例,修复方案是有httponly.今天写出来倒腾下... 2.1首先必须的预备cookie知识.假如你第一次认识cookie,请先阅读这篇文章: js于cookies.zip.google cookie. 三.Cookie属性 cookie内容,如图所示:   HTTP response header: Set-Cookie: <name>=&

设置定点数学属性

此示例演示如何在matlab®代码中设置固定点数学属性. 您可以使用 fimath 对象控制赋值,加法,减法和乘法的定点数学属性.可以使用fimath将fimath对象附加到 fi 对象.您可以使用从网络对象中删除fimath对象. 如果您有matlab编解码器™软件,则可以从示例中生成c代码. 设置和删除不动点数学属性 使用通过状语从句:fimath删除函数 ,可以将定点操作与全局和本地 fimath 设置隔离开来.您还可以从没有附加到输出变量的函数返回.这使您可以对定点数学设置进行本地控制,

cookie 设置 httpOnly属性

cookie 设置 httpOnly属性防止js读取cookie. 建立filter拦截器类 CookieHttpOnlyFilter import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.serv

PHP设置COOKIE的HttpOnly属性

httponly是微软对cookie做的扩展.这个主要是解决用户的cookie可能被盗用的问题.    大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次再访问其他页面时,由于浏览器回自动传递cookie,这样 就实现了一次登陆就可以看到所有需要登陆后才能看到的内容.也就是说,实质上,所有的登陆状态这些都是建立在cookie上的!假设我们登陆后的 cookie被人获得,那就会有暴露个人信息的危险!当然,想想,其他人怎么可以获得客户的cookie?那必然是有不

cookie设置httponly属性防护XSS攻击

攻击者利用XSS漏洞获取cookie或者session劫持,如果这里面包含了大量敏感信息(身份信息,管理员信息)等,攻击这里用获取的COOKIE登陆账号,并进行非法操作. COOKIE设置httponly属性可以化解XSS漏洞攻击带来的窃取cookie的危害. PHP中COOKIE设置方法: <?php setcookie("xsstest", "xsstest", time()+3600, "/", "", false

会话cookie中缺少HttpOnly属性 解决

只需要写一个过滤器即可 1 package com.neusoft.streamone.framework.security.filter; 2 3 import java.io.IOException; 4 5 import javax.servlet.Filter; 6 import javax.servlet.FilterChain; 7 import javax.servlet.FilterConfig; 8 import javax.servlet.ServletException;