分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

Tomcat为Cookie设置HttpOnly属性

发布时间:2023-09-06 01:47责任编辑:赖小花关键词:Cookie
A:Tomcat 中维持Java webapp的Http会话是以Cookie形式实现的存储在服务端用户状态信息的;


B:服务端可以自定义建立Cookie对象及属性传递到客户端;


服务端建立的Cookie如果没有设置HttpOnly属性,则在客户端可以用js读取Cookie中的内容(客户端脚本可以读取Session Cookie内容进行诸如CSRF/XSS恶意http攻击);



方法:


为HttpSession安全性考虑,防止客户端脚本读取Session Cookie内容进行诸如CSRF/XSS恶意http攻击,可在tomcat6的conf/context.xml配置文件中配置:


<Context useHttpOnly="true">


为自定义Cookie及属性添加HttpOnly属性,在Set-Cookie头部信息设置时可以添加“HttpOnly”



验证:


1,抓包验证任意http响应的内容,确实任意客户端请求的回应包含“Set-Cookie: JSESSIONID=717C91AF20E245B100EEFBF5EDDB29C3; Path=/monitor; HttpOnly”:

GET /monitor/ HTTP/1.1Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*Accept-Language: zh-cnUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322)Accept-Encoding: gzip, deflateHost: 192.168.245.1Connection: Keep-AliveHTTP/1.1 200 OKServer: Apache-Coyote/1.1Set-Cookie: JSESSIONID=717C91AF20E245B100EEFBF5EDDB29C3; Path=/monitor; HttpOnlySet-Cookie:; HttpOnlyContent-Type: text/html;charset=UTF-8Content-Length: 2518Date: Wed, 20 Jul 2016 08:14:42 GMT

2,在浏览器端调试js脚本,确实使用document.cookie读取在服务端设置的Cookie对象时,读取内容为空:

document.cookie    ""


Tomcat为Cookie设置HttpOnly属性

原文地址:http://blog.51cto.com/dengaosky/2092594

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved