`
TRAMP_ZZY
  • 浏览: 138935 次
社区版块
存档分类
最新评论

Web 安全与 过滤器

 
阅读更多
1. Servlet 安全的四大要素
	1)认证
	2)授权
	3)机密性
	4)数据完整性

2. 代码里不要有安全信息,Web 应用的安全约束都应该以声明的方式处理,
	也就是要在部署描述文件中指定。

3. 保护正在传输的数据:HTTPS(SSL之上的HTTPS)
	<security-contraint>
		<web-resource-collection>
			<web-resource-name>rescpies</web-resource-name>
			<url-pattern>/Beer/UpdateRecipes/*</url-pattern>
			<http-method>POST</http-method>
		</web-resource-collection>
		<auth-constraint>
			<role-name>Member</role-name>
		</auth-constraint>
		<user-data-constraint>
			<transport-gurantee>CONFIDENTIAL</tranport-guarantee>
		</user-data-constraint>
	</security-constraint>
	 
4. 过滤器的威力,允许拦截请求。如果能够拦截请求,那你还可以控制相应。最棒的是Servlet 对此一无所知。
	它不知道客户做出请求和容器调用Servlet 的service()方法之间已经有人介入。这就意味着需要重写servlet
	的时候,可以直接编写和配置一个过滤器,它就能影响所有的Servlet。
	
5. 过滤器是Java 组件,请求发送到Servlet 之前,可以用过滤器截获和处理请求,另外Servlet 结束工作之后,
	在响应发送给客户之前,可以用过滤器处理响应。容器根据DD(Web.xml)的声明来确定何时调用过滤器。在DD
	中,部署人员要建立映射,明确对哪个请求URL 模式要调用哪些过滤器。

6. 过滤器要做的事情:
	1. 请求过滤器 完成安全检查 重新格式化请求首部或体 建立请求审计或日志
	2. 响应过滤器 压缩响应流 追加或修改响应流 创建一个完全不同的响应。

7. 每个过滤器都必须实现Filter 中的三个方法:init doFilter destory
	FilterChain 设计为一些模块化的积木,可以采用多种不同的方式把这些过滤器结合起来。
	
8. Filter 的 doFilter 方法通常只完成过滤,FilterChain 的 doFilter 要负责明确接下来调用谁的 doFilter() 方法。

9. 声明和确定过滤去顺序。在 Web.xml 配置过滤器,通常要做的三件事情:
	声明过滤器 将过滤器映射到你想过滤的Web资源 组织这些映射,创建过滤器调用顺序
  <filter>
    <display-name>BeerRequestFilter</display-name>
    <filter-name>BeerRequestFilter</filter-name>
    <filter-class>com.example.web.BeerRequestFilter</filter-class>
  </filter>
  声明对应URL 模式的过滤器映射
  <filter-mapping>
    <filter-name>BeerRequestFilter</filter-name>
    <url-pattern>×.do</url-pattern>
  </filter-mapping>
  声明对应Servlet 名的过滤器映射
  <filter-mapping>
    <filter-name>BeerRequestFilter</filter-name>
    <servlet-name>AdviceServlet</servlet-name>
  </filter-mapping>

10. 过滤器可以应用于请求分派器 dispatcher 元素指明请求分派器的类型(REQUEST INCLUDE FORWARD ERROR)
   <filter>
    <display-name>BeerRequestFilter</display-name>
    <filter-name>BeerRequestFilter</filter-name>
    <filter-class>com.example.web.BeerRequestFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>BeerRequestFilter</filter-name>
    <url-pattern>/BeerRequestFilter</url-pattern>
    <dispatcher>REQUEST</dispatcher>
  </filter-mapping>
	 
11. 包装器类 如果你想创建定制请求或响应对象,只需要派生某个便利请求或响应"包装器"类就行了.
	包装器类包装了实际的请求或响应对象,而且把调用委托给实际的对象,还允许你对定制请求或响应做
	所需要的处理.
	sun 提供的四个包装器类.
	ServletRequestWrapper
	HttpServletRequestWrapper
	ServletResponseWrapper
	HttpServletResponseWrapper
	
12. 软件设计模式是对常见软件问题的一种可重复解决方案. 
	 

	
分享到:
评论

相关推荐

    JAVA Web中过滤器

    在JAVA Web开发中,过滤器(Filter)是一个至关重要的组件,它主要负责在请求被Servlet处理之前或之后执行一些预处理或后处理操作。过滤器是JAVA Servlet API的一部分,通过实现javax.servlet.Filter接口来创建...

    java Web项目中过滤器使用方法

    在Java Web开发中,过滤器(Filter)是一个强大的工具,它允许开发者在数据处理的前后进行拦截和修改。...通过合理的配置和定制,过滤器可以帮助我们实现许多实用的功能,提高应用的安全性和可维护性。

    web过滤器 c#

    在C#编程环境下,我们可以使用ASP.NET框架来实现Web过滤器,它对于构建安全、高效且可扩展的Web应用程序至关重要。 在ASP.NET中,过滤器主要分为四种类型:Action Filters、Authorization Filters、Exception ...

    web.xml过滤器知识

    总结来说,`web.xml`过滤器是Java Web开发中的重要工具,它通过`Filter`接口实现了对请求和响应的拦截、修改,从而实现了多种功能,如数据过滤、安全控制、性能优化等。正确理解和运用过滤器,可以极大地提高Web应用...

    java web权限访问过滤器

    本教程将详细讲解如何使用Java Web中的过滤器(Filter)来实现这样的访问控制。过滤器是Servlet API的一部分,它允许我们在请求到达目标资源(如Servlet、JSP页面)之前或之后对请求和响应进行拦截处理。 首先,...

    java-web -- servlet 拦截器 过滤器使用

    与过滤器相比,拦截器更具有针对性,它关注于业务逻辑层面的控制。 下面,我们将深入探讨这三个组件的使用: 1. **Servlet的使用**:创建一个Servlet类,实现Servlet接口或者继承HttpServlet抽象类,重写doGet或...

    JAVA WEB中的Servlet过滤器

    在Java Web开发中,Servlet过滤器(Filter)是不可或缺的一部分,它允许开发者在请求到达Servlet之前或响应离开Servlet之后对其进行处理。Servlet过滤器是按照指定的配置顺序进行调用的,能够实现数据的预处理、后...

    JavaWeb中过滤器的三个小案例

    本文将详细讲解三个使用JavaWeb过滤器的实际案例,帮助开发者深入理解其功能和应用场景。 案例1:分IP统计网站的访问次数 在网站运营中,了解用户访问来源是至关重要的。通过实现一个过滤器,我们可以记录每个IP...

    过滤器在Java Web开发中的应用研究.pdf

    在深入分析和探讨过滤器在Java Web开发中的应用研究时,首先要了解过滤器的定义及其在Java Web开发中的重要作用。过滤器是一种设计模式,用于拦截请求和响应,以便执行某些预处理或后处理操作。在Java Web开发中,...

    Java Web过滤器详解

    Java Web过滤器是一种服务端组件,用于截取用户端的请求与响应信息。过滤器的应用场景非常广泛,以下是其中的一些: 一、统一认证 过滤器可以对用户请求进行统一认证,保证不会出现用户账户安全性问题。例如,在...

    java web Xss及sql注入过滤器.zip

    Spring Security提供了丰富的功能,包括身份验证、授权、CSRF保护等,可以与自定义过滤器协同工作,为应用程序提供全面的安全保障。 5. **单元测试和集成测试**:为了确保过滤器和SQL注入防护的有效性,项目可能...

    servlet过滤器实例经典过滤器

    通过实例化和配置过滤器,我们可以实现诸如字符集转换、权限控制、日志记录等多种功能,提升应用的安全性和性能。在学习和使用过程中,一定要深入理解Filter接口的方法和生命周期,以及如何在web.xml中正确配置过滤...

    java web过滤器案列

    Java Web过滤器是Java Servlet技术的一部分,用于在请求被Servlet处理之前或之后对请求进行预处理和后处理。它们在Web应用程序中起着至关重要的作用,可以用来实现各种功能,如登录验证、字符编码转换、日志记录、...

    过滤器操作数据库验证合法用户

    在Java Web开发中,过滤器(Filter)是一个非常重要的组件,它主要用于在请求被实际处理之前或之后执行一些预处理或后处理任务。过滤器在Servlet规范中定义,是实现Servlet API的一部分,允许开发者对HTTP请求和响应...

    过滤器文档过滤器使用中的方法过滤器.pdf

    总结起来,过滤器是Web应用中不可或缺的一部分,它们提供了强大的功能,如数据安全、编码一致性以及自动化操作。通过合理地使用过滤器,开发者可以更高效地管理和控制Web应用的流量,提高应用的安全性和用户体验。...

    超实用的Web过滤技术

    总的来说,Web过滤技术,尤其是Servlet过滤器,为Web应用提供了强大的工具,以模块化、灵活的方式处理安全性、用户认证、数据过滤等关键任务,提升了代码的可维护性和复用性。理解并掌握这些技术对于开发安全、高效...

    过滤器(java编写的过滤器)

    过滤器在Java Web开发中扮演着极其重要的角色,它不仅可以增强应用的安全性,还能提高代码的可维护性和可扩展性。通过对给定的过滤器配置进行深入解析,我们可以更好地理解过滤器的工作原理和配置方式,这对于实际...

    白帽子讲Web安全.pdf百度云分享+Web前端黑客技术揭秘.pdf

    《白帽子讲Web安全》与《Web前端黑客技术揭秘》这两本书是IT行业中关于网络安全,特别是Web安全领域的经典著作。它们深入浅出地探讨了Web安全的重要性和实践方法,为读者提供了丰富的知识。 《白帽子讲Web安全》一...

    JAVA过滤器标准代码

    ### JAVA过滤器标准代码解析与应用 在Java Web开发中,过滤器(Filter)是一种用于拦截请求和响应的重要机制,可以实现对用户请求的预处理和...理解和掌握过滤器的使用,将极大地提升Web应用的安全性、稳定性和性能。

    servlet过滤器详解

    - `&lt;filter-mapping&gt;`:指定过滤器与URL的关联,使用通配符`/*`表示所有URL。 #### 七、注意事项 使用Servlet过滤器时应注意,尽管`Filter`、`FilterConfig`和`FilterChain`位于`javax.servlet`包下,但实际操作中...

Global site tag (gtag.js) - Google Analytics