@amaabca/sensitive-param-filter

中文文档
1.2.10发布于 2024/09/06MITCommonJS零依赖近 30 天下载 2322

从各种JS对象过滤敏感数据(参数、密钥)的软件包

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. 细节
  4. 关键特性
  5. 选项
  6. 默认值
  7. 许可贡献( A)

敏感参数过滤器

Build Status

sensitive-param-filter 是一个零依赖性包,旨在从 JavaScript 对象过滤敏感值. 此软件包可用于在输出到UI前去除日志,文件数据等. 配备了敏感参数过滤器的默认值对于大多数应用程序来说应行之有效.

安装

通过 npm 为您的工程安装敏感- param- filter :

npm install @amaabca/sensitive-param-filter

线条 :

yarn add @amaabca/sensitive-param-filter

使用量

const { SensitiveParamFilter } = require('@amaabca/sensitive-param-filter')
const paramFilter = new SensitiveParamFilter()
const rawObject = {
  Authorization: 'Bearer somedatatoken',
  body: {
    info: '{ "amount": 28.64, "credit_card": "4242424242424242", "cvv": "123" }'
  },
  method: 'POST',
  url: 'https://pay.example.com?user=bob.bobbington&password=asecurepassword1234'
}
const filteredObject = paramFilter.filter(rawObject)
// filteredObject = {
//   Authorization: 'FILTERED',
//   body: {
//     info: '{ "amount": 28.64, "credit_card": "FILTERED", "cvv": "FILTERED" }'
//   },
//   method: 'POST',
//   url: 'https://pay.example.com?user=bob.bobbington&password=FILTERED'
// }

细节

敏感-param-filter 检查密钥以确定要过滤的值. 密钥匹配以对大小写不敏感、部分大写的方式进行( 如果参数) AUTH 提供, Authorization, (中文(简体) ), AUTHENTICATION等将被过滤).

关键特性

  • 不修改输入对象
  • 执行输入对象的深层复制( 布尔、 数字和字符串- 不可改变的- 技术上通过引用复制)
  • 可配置过滤出或离开“ 意外” 对象( 如函数)
  • 处理循环参考
  • 过滤有效的 JSON 字符串
  • 过滤无效和错误的 URL 查询参数
  • 过滤出错、矩阵、地图、集和简单对象

选项

const { SPFDefaultParams, SensitiveParamFilter } = require('@amaabca/sensitive-param-filter')
const filter = new SensitiveParamFilter({
  filterUnknown: false,
  params: SPFDefaultParams.concat(['data', 'email']),
  replacement: '***',
  whitelist: ['authentic', 'encryption_standard']
})
  • 过滤器未知 : 表示是否应当过滤或按原样返回“意外”对象(如函数等). 默认为 true

  • 段落 : 要过滤的字符串参数阵列 . 这些条目将被合并成一个用于敏感-param-filter的regex. 设置此选项以覆盖默认数组( N)SPFDefaultParams) (中文(简体) ).

  • 替换 : 将过滤值替换为的对象 . 默认为 'FILTERED'。 。 。 .

  • 白名单 : 要排除过滤的字符串数组 . 例如,如果 pass_through 包含在白名单中,键 pass_through 将不会过滤. 注意条目必须精确匹配密钥以防止过滤 - 即白名单 secrets 仍为原因 secrets_store 将被过滤.

默认值

见 默认。 。 。 . 请注意,所有这些值都可以通过选项被推翻.

被过滤的默认密钥有:

  • 认证
  • 无记名者
  • 信贷
  • 简历
  • 简历
  • 加密
  • PAN 在线
  • 通过
  • 隐藏
  • 符号

许可贡献( A)

sensitive-param-filter 使用麻省理工学院的执照. 见 许可证。 。 。 .

我们欢迎各方的贡献. 见 捐款。 。 。 .

版本与发布记录

@amaabca/sensitive-param-filter 共发布 23 个版本,首次发布于 2019/10/05;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.10latest2024/09/062 年前
1.2.92024/05/222 年前
1.2.82023/10/273 年前
1.2.72023/04/143 年前
1.2.62023/02/103 年前
1.2.52023/01/203 年前

关于 @amaabca/sensitive-param-filter 的常见问题

@amaabca/sensitive-param-filter 是什么?

从各种JS对象过滤敏感数据(参数、密钥)的软件包

如何安装 @amaabca/sensitive-param-filter?

在项目目录运行 npm install @amaabca/sensitive-param-filter,或使用 pnpm add / yarn add / bun add。

@amaabca/sensitive-param-filter 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/amaabca__sensitive-param-filter 是否存在。

@amaabca/sensitive-param-filter 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@amaabca/sensitive-param-filter 可以商用吗?

@amaabca/sensitive-param-filter 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@amaabca/sensitive-param-filter 的下载量有多少?

根据 npm 官方下载统计,@amaabca/sensitive-param-filter 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,322 次,日均约 77 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@amaabca/sensitive-param-filter 还在维护吗?

最新版本 1.2.10 发布于 2024/09/06(2 年前);至今共发布 23 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/10/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。