依赖jar包

引入包 版本
jdk 1.8
spring boot 2.7.2
jsoup 1.13.1
spring-boot-starter-web 2.7.2
jackson-databind 2.13.3
javax.servlet-api 4.0.1
spring-boot-autoconfigure 2.7.2

使用

添加依赖

1
2
3
4
5
<dependency>
<groupId>cn.allbs</groupId>
<artifactId>allbs-xss</artifactId>
<version>2.0.0</version>
</dependency>
1
implementation 'cn.allbs:allbs-xss:2.0.0'
1
implementation("cn.allbs:allbs-xss:2.0.0")

自动过滤html相关标签

添加注解后默认开启xss防御,只拦截PUTPOST请求的接口,可以在方法上添加注解@XssIgnore关闭xss拦截

配置说明

1
2
3
4
5
6
7
8
9
10
security:
xss:
# true开启全局过滤,false关系全局过滤
enabled: true
# 拦截的路由列表
pathPatterns:
- /user
# 不过滤的路由列表
excludePatterns:
- /xss

示例

代码

1
2
3
4
5
6
7
8
9
@RequestMapping("xss")
@RestController
public class XssController {

@PostMapping("test")
public String test(String htmlContent) {
return htmlContent;
}
}

过滤前

1
<script>alert('xss攻击')</script>参数

过滤后

1
参数

image-20220809163825739