Springboot 日志、配置文件、接口数据如何脱敏?这样子实现才叫优雅!
2023-04-18 16:05:27 时间
一、前言
核心隐私数据无论对于企业还是用户来说尤其重要,因此要想办法杜绝各种隐私数据的泄漏。下面带大家从以下三个方面讲解一下隐私数据如何脱敏,也是日常开发中需要注意的:
- 配置文件数据脱敏
- 接口返回数据脱敏
- 日志文件数据脱敏
文章目录如下:
二、配置文件如何脱敏?
经常会遇到这样一种情况:项目的配置文件中总有一些敏感信息,比如数据源的url、用户名、密码....这些信息一旦被暴露那么整个数据库都将会被泄漏,那么如何将这些配置隐藏呢?
以前都是手动将加密之后的配置写入到配置文件中,提取的时候再手动解密,当然这是一种思路,也能解决问题,但是每次都要手动加密、解密不觉得麻烦吗?
上图的配置并没有实现数据脱敏,这是普通的配置,使用的是PatternLayout
3. 自定义PatternLayout实现数据脱敏
步骤2中的配置使用的是 PatternLayout
实现日志的格式,那么我们也可以自定义一个PatternLayout来实现日志的过滤脱敏。
PatternLayout的类图继承关系如下:
经过上述两个步骤,自定义的 PatternLayout
已经完成,下面将是改写 log4j2.xml
这个配置文件了。
4. 修改log4j2.xml配置文件
其实这里修改很简单,原配置文件是直接使用 PatternLayout
进行日志格式化的,那么只需要将默认的 <PatternLayout/>
这个节点替换成 <CustomPatternLayout/>
,如下图:
直接全局替换掉即可,至此,这个配置文件就修改完成了。
5. 演示效果
在步骤3这边自定义了脱敏规则静态类 Log4j2Rule
,其中定义了姓名、身份证、号码这三个脱敏规则,如下:
相关文章
- 直接在代码里面对list集合进行分页
- .NET Framework 4.5新特性详解
- 大数据的简要介绍
- 大数据的由来
- 高斯混合模型的自然梯度变量推理
- timing-wheel 仿Kafka实现的时间轮算法
- 使用Navicat软件连接自建数据库(Linux系统)
- 那一天,我被Redis主从架构支配的恐惧
- Redis 深入了解键的过期时间
- C#使用委托调用实现用户端等待闪屏
- 基于流计算 Oceanus 和 Elasticsearch Service 构建百亿级实时监控系统
- GRAND | 转录调控网络预测数据库
- JFreeChart API中文文档
- 临床相关突变查询数据库
- TIGER | 人类胰岛基因变化查询数据库
- 视频边缘计算网关EasyNVR在视频整体监控解决方案中的应用分析
- Apache Arrow - 大数据在数据湖后的下一个风向标
- 常见的电商数据指标体系
- AKShare-艺人数据-艺人流量价值
- MySQL中多表联合查询与子查询的这些区别,你可能不知道!