探秘Servlet 3.0中的Web安全改进
分类:J2EE
来源:网络
时间:2010-10-21 23:36:17
Servlet 3.0最为最新的Servlet最新标准,其提供了很多新特性,比如异步请求处理、声明式语法支持等。在这里我们将考察Servlet 3.0安全方面的增强。
对网站进行跨站攻击最常用的一个手段就是在网页中插入恶意的Html和JavaScript代码。一旦你的网页被增加这些恶意代码,那么就非常容易泄流你的个人信息,比如Cookie。
Cookie作为保留会话状态的手段,经常被用来保存用户登录信息等敏感性数据,但是由于Cookie既可以在服务器端读取,又可以在客户端通过脚本读取,则导致其成为Web应用安全的一个薄弱环节。
在2002年,微软采用了一种被称为“HttpOnly Cookies”的技术,来防止恶意读取Cookie信息。该技术实际并不复杂,只是在Cookie上增加一个额外的属性,在浏览器支持的情况下,如果尝试通过脚本读取Cookie内容,返回结果将为空。现在大多数服务器和客户端都采用的是这种技术,当然浏览对对XMLHttpRequest对象进行了特殊处理。
在Servlet 3.0规范中,Java Servlet开始支持“HttpOnly Cookies”。当使用HttpServletResponse的addCookie方法,向浏览器提供Cookie的时候,可以通过Cookie对象的setHttpOnly方法指定Cookie为HttpOnly。例如:
Cookie cooki=new Cookie("user_name","guandeliang"); cooki.setMaxAge(60*60*24*365); cooki.setPath("/"); cooki.setHttpOnly(true); response.addCookie(cooki); |
另外,如果希望判断一个Cookie对象是否是HttpOnly,可以通过调用该对象的isHttpOnly()进行判断。
- 默认分类(20)
- J2EE(25)
- Java(56)
- PHP(55)
- SEO(10)
- 网页设计(20)
- 网站建设(37)
- 数据库(7)
- JavaScript(17)
- JQuery(6)
- MySQL(20)
- SQL Server(6)
- Access(1)
- Oracle(6)
- office(6)
- Dreamweaver(4)
- Photoshop(12)
- Flash(9)
- Fireworks(13)
- CSS(14)
- HTML(4)
- .NET(7)
- ASP(2)
- DB2(1)
- Ajax(2)
- Linux(12)
- Struts(7)
- Hibernate(8)
- Spring(2)
- Jsp(22)
- Asp(8)
- C#(3)
- C++(1)
- 网络安全(5)
- 软件工程(7)
- XML(1)
- English(2)
- 计算机等级考试(2)
- 计算机病毒(4)
- 个人日志(76)
- 互联网(15)
- ActionScript(10)
- Android(3)
- 数据结构与算法(1)
- 游戏策略(3)
- 美文翻译(2)
- 编程开发(19)
- 计算机应用(4)
- 计算机(10)
- Unity3d(6)
- 其他(1)
- egret(1)