# @amaabca/sensitive-param-filter 中文文档

规范地址：https://npmcn.com/package/%40amaabca/sensitive-param-filter/

版本：1\.2\.10
npm 元数据更新时间：2024-09-05T19:28:53.881Z
中文译文更新时间：2026-11-06T21:28:23.125Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40amaabca/sensitive-param-filter
原文对照：https://npmcn.com/package/%40amaabca/sensitive-param-filter/?lang=original
项目主页：https://github.com/amaabca/sensitive-param-filter
源码仓库：https://github.com/amaabca/sensitive-param-filter

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：14.8 kB，10 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2019-10-04T21:43:58.338Z
- 最新版本发布：2024-09-05T19:28:53.507Z
- 近 30 天下载量：2322（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：23（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install @amaabca/sensitive-param-filter
```

也可以使用：`pnpm add @amaabca/sensitive-param-filter`、`yarn add @amaabca/sensitive-param-filter`、`bun add @amaabca/sensitive-param-filter`

## README

# 敏感参数过滤器

[![Build Status](https://travis-ci.org/amaabca/sensitive-param-filter.svg?branch=master)](https://travis-ci.org/amaabca/sensitive-param-filter)

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

## 安装

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

`npm install @amaabca/sensitive-param-filter`

线条 :

`yarn add @amaabca/sensitive-param-filter`

## 使用量

```js
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 查询参数
-   过滤出错、矩阵、地图、集和简单对象

### 选项

```js
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` 将被过滤.
    

## 默认值

见 [默认](https://npmcn.com/package/%40amaabca/sensitive-param-filter/src/defaults.js)。 。 。 . 请注意,所有这些值都可以通过选项被推翻.

被过滤的默认密钥有:

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

## 许可贡献( A)

`sensitive-param-filter` 使用麻省理工学院的执照. 见 [许可证](https://npmcn.com/package/%40amaabca/sensitive-param-filter/LICENSE)。 。 。 .

我们欢迎各方的贡献. 见 [捐款](https://npmcn.com/package/%40amaabca/sensitive-param-filter/CONTRIBUTING.md)。 。 。 .

## 常见问题

### @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 和提交记录判断。

