可以使用 XSS Filter 防止 XSS 攻击
使用步骤:
- 把 xssflt.jar 放到 WEB-INF/lib
- 把 xssflt.jar 添加到 Gradle 依赖
compile fileTree(dir: 'src/main/webapp/WEB-INF/lib', include: ['*.jar'])
修改 web.xml
<!-- 防止 XSS 攻击 -->
<filter>
<filter-name>XSSFilter</filter-name>
<filter-class>com.cj.xss.XSSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XSSFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
表单页面
<!DOCTYPE html>
<html>
<head>
<title>XSS Test</title>
<meta charset="UTF-8">
</head>
<body>
<form class="" action="/a" method="post">
<input type="text" name="name" value="">
<button type="submit" name="button">提交</button>
</form>
</body>
</html>
服务器端
@PostMapping("/a")
@ResponseBody
public String postA(@RequestParam String name) {
System.out.println(name);
return name;
}
测试一
- 输入 test
- 控制台输出 test
- 浏览器端收到 test
测试二
- 输入 <test>
- 控制台输出 <test>
- 浏览器端收到 <test>
说明防止 XSS 攻击生效