[TOC]
# common-spring-boot-starter
common-spring-boot-starter 提供了平台通用安全过滤拦截功能
## xss安全防护
在项目中,用户可能会输入类似 script alert(1)脚本导致系统安全问题,Antisamy是OWASP(open web application security project)的一个开源项目,其能够对用户输入的html/css/javascript 脚本进行过滤,确保输入满足规范,无法提交恶意脚本。Antisamy被应用在web服务中对存储型和反射性的xss防御,尤其是在存在富文本输入的场景,antisamy能够很好的解决用户输入体验和安全要求之间的冲突。
* xss安全配置
![](https://img.kancloud.cn/58/38/58389333992d94350fdc99fec6f21950_2479x983.png)
## 请求响应参数加密解密
在项目中有许多接口都需要加解密,**保证数据的安全性,为了抽象出这一类接口的共性**。
而在我们的接口设计中,加密后的参数是以整个body来传送密文的,项目运用行为型策略模式进行枚举接口设计。
### 条件装配
![](https://img.kancloud.cn/c2/64/c26469ce6217e7906432971b09f15d19_2520x950.png)
### 通过RequestBodyAdvice进行解密
通过*设计模式*之*策略模式*(*行为*型)进行设计优化项目,对比原版项目
![](https://img.kancloud.cn/46/49/46493e986d01eb3ee4250033d8467866_2260x919.png)
### 通过ResponseBodyAdvice进行加密
通过*设计模式*之*策略模式*(*行为*型)进行设计优化项目
![](https://img.kancloud.cn/c3/d6/c3d6261d7c58def8afd9571c0d093958_2286x944.png)
### 枚举解密接口
![](https://img.kancloud.cn/9f/bb/9fbbca5c2213bcd0b8c26a4db08316a5_2482x1103.png)
### 枚举加密接口
![](https://img.kancloud.cn/8a/b4/8ab43e32940a3210faf48e2344fdf0de_2443x1111.png)
### 使用配置
```
encrypt:
body:
aes-key: 12345678 # AES加密秘钥
des-key: 12345678 # DES加密秘钥
sm-key: 0123456789abcdeffedcba9876543210
```
### 编写接口
```
@PostMapping("/enc")
@SMEncryptBody
@SMDecryptBody
@ResponseBody
public String enc(@RequestBody String param) {
System.out.println(param);return param ;
}
```
### 测试接口
![](https://img.kancloud.cn/ae/16/ae162fb14c82b22d921c7ec04481152e_2151x753.png)
- 01.前言
- 02.快速开始
- 01.maven构建项目
- 02.安装mysql数据库
- 03.安装redis缓存中间件
- 04.快速启动框架
- 03.总体流程
- 01.架构设计图
- 02.oauth接口
- 03.功能介绍
- 04.部署细节
- 04.模块详解
- 01.基础介绍
- 02.自定义db-spring-boot-starter
- 03.自定义log-spring-boot-starter
- 04.自定义redis-spring-boot-starter
- 05.自定义base-spring-boot-starter
- 06.自定义common-spring-boot-starter
- 07.自定义loadbalancer-spring-boot-starter
- 08.自定义swagger-spring-boot-starter
- 09.自定义uaa-client-spring-boot-starter
- 10.自定义uaa-server-spring-boot-starter
- 11.自定义oss-spring-boot-starter
- 12.自定义sentinel-spring-boot-starter
- 05.服务详解
- 01.nacos-server
- 02.auth-server
- 03.user-center
- 04.new-api-gateway
- 05.file-center
- 06.log-center
- 07.back-center
- 08.auth-sso模块
- 09.admin-server
- 10.job-center
- 06.系统安全
- 01.非法字符漏洞攻击
- 02.防重放攻击
- 03.代码审计
- 04.Xray扫洞
- 05.混沌工程质量保证
- 07.生产部署K8S
- 01.基本环境安装
- 02.基本组件安装
- 03.集群验证
- 04.安装Metrics Server
- 05.安装容器平台
- 06.Ingress网关
- 07.metalb负载均衡器
- 08.容器平台集群
- 08.K8S资源练习
- 01.Deployment
- 02.StatefulSet
- 03.DaemonSet
- 04.redis集群服务
- 05.elasticsearch集群
- 06.rocketmq部署
- 09.生产容器化部署
- 01.nacos集群部署
- 02.user-center服务
- 03.auth-server服务
- 04.new-api-gateway服务
- 技术交流