Spring Security 防火墙

本文涉及的产品
云防火墙,500元 1000GB
简介: Spring Security 防火墙

HttpFirewall简介

HttpFirewall是Spring Security提供的Http防火墙,它可以用于拒绝潜在的危险请求或者包装这些请求进而控制其行为。通过HttpFirewall可以对各种非法请求提前进行拦截并处理,降低损失。

  • 在Servlet容器规范中,为HtpServletRequest定义了一些属性,如contextPath、servletPath、pathInfo、queryString等,这些属性都可以通过get方法获取。
  • 在Servlet容器规范中并没有定义这些属性可以包含哪些值,例如在servletPath和pathInfo中都可以包含RFC2396规范(https://www.iet.orghrfc/rfic2396.txt)中定义的参数,不同容器对此处理方案也不同,有的容器会对此进行预处理,有的容器则不会。这种比较混乱的处理方式有可能会造成安全隐患,因此SpringSecurity中通过HtpFirewall来检查请求路径以及参数是否合法,如果合法,才会进入到过滤器链中进行处理。

Spring Security中的 HttpFirewall两个实现类

  • DefaultHttpFirewall:虽然名字中包含Default,但这并不是框架默认使用的Http防火墙,它只是一个检查相对宽松的防火墙。普通模式使用这个防火墙。
  • StrictHttpFirewall:这是一个检查严格的Http防火墙,也是框架严格模式默认使用的Http防火墙。

    • rejectForbiddenHttpMethod:校验请求方法是否合法。
    • rejectedBlacklistedurls:校验请求中的非法字符。
    • rejectedUntrustedHosts:检验主机信息。
    • isNormalized:判断参数格式是否合法。
    • containsOnlyPrintableAsciiCharacters:判断请求字符是否合法。
目录
相关文章
|
26天前
|
JSON 安全 Java
什么是JWT?如何使用Spring Boot Security实现它?
什么是JWT?如何使用Spring Boot Security实现它?
112 5
|
5月前
|
安全 Java 数据安全/隐私保护
使用Spring Security实现细粒度的权限控制
使用Spring Security实现细粒度的权限控制
|
5月前
|
安全 Java 数据库
实现基于Spring Security的权限管理系统
实现基于Spring Security的权限管理系统
|
5月前
|
安全 Java 数据安全/隐私保护
解析Spring Security中的权限控制策略
解析Spring Security中的权限控制策略
|
6月前
|
JSON 安全 Java
Spring Security 6.x 微信公众平台OAuth2授权实战
上一篇介绍了OAuth2协议的基本原理,以及Spring Security框架中自带的OAuth2客户端GitHub的实现细节,本篇以微信公众号网页授权登录为目的,介绍如何在原框架基础上定制开发OAuth2客户端。
238 4
Spring Security 6.x 微信公众平台OAuth2授权实战
|
6月前
|
存储 安全 Java
Spring Security 6.x OAuth2登录认证源码分析
上一篇介绍了Spring Security框架中身份认证的架构设计,本篇就OAuth2客户端登录认证的实现源码做一些分析。
277 2
Spring Security 6.x OAuth2登录认证源码分析
|
6月前
|
安全 Java 数据安全/隐私保护
Spring Security 6.x 一文快速搞懂配置原理
本文主要对整个Spring Security配置过程做一定的剖析,希望可以对学习Spring Sercurity框架的同学所有帮助。
328 5
Spring Security 6.x 一文快速搞懂配置原理
|
6月前
|
安全 Java API
Spring Security 6.x 图解身份认证的架构设计
【6月更文挑战第1天】本文主要介绍了Spring Security在身份认证方面的架构设计,以及主要业务流程,及核心代码的实现
99 1
Spring Security 6.x 图解身份认证的架构设计
|
5月前
|
安全 Java 数据安全/隐私保护
使用Spring Security实现细粒度的权限控制
使用Spring Security实现细粒度的权限控制
|
5月前
|
安全 Java 数据安全/隐私保护
使用Java和Spring Security实现身份验证与授权
使用Java和Spring Security实现身份验证与授权