@aegisjsproject/trusted-types

中文文档
1.1.0发布于 2026/06/15MITESM + CJS零依赖构建来源已验证近 30 天下载 2224

信任类型 API 的多填充

中文使用文档
文档目录3 节
  1. 概念和使用
  2. 注射信条
  3. 包含脚本/模块

@aegisjsproject/受托类型

用于 信任类型 API

CodeQL Node CI Lint Code Base

GitHub license GitHub last commit GitHub release GitHub Sponsors

npm node-current npm bundle size gzipped npm

GitHub followers GitHub forks GitHub stars Twitter Follow

Donate using Liberapay


概念和使用

用户控制数据时会发生客户端或基于DOM的XSS攻击 (例如输入窗体字段)达到可以执行的函数 数据。 这些功能被称为注入汇. 基于 DOM 的 XSS 攻击发生 当用户能够写入任意 JavaScript 代码并用一个执行时 这些职能.

信任类型 API 锁定有风险的注入汇, 需要您处理 将数据传递给其中之一。 如果您使用字符串, 那么 浏览器将丢出 TypeError 并阻止该函数的使用.

信任类型同时工作 内容-安全政策 与 trusted-types 财务报告和审定财务报表 require-trusted-types-for 指令。 。 .

注射信条

Trusted Types API 锁定可充当 DOM 的向量的注入汇 。 预算外 攻击。 注入槽是任何只应该取名的 Web API 函数 与可信、验证或消毒输入。 注入汇的例子包括:

  • 在文档中插入 HTML 的函数, 如 Element. innerHTML, Element.outerHTML, 或者 Document.write .
  • 函数创建新的同源文档, 并使用调用器控制的标记, 如 DOMParser. parseFromString .
  • 执行Global Objects/eval等代码的函数.
  • 用于 Element 属性的设置器,用于接受代码的 URL 来加载或执行 .

信任类型会迫使您在将数据传递给任何 注入槽而不是使用字符串。 这可确保数据可信.

[大 由于文档不能直接访问 HTTP 信头, 此多填充需要 无论是 <meta http-equiv="Content-Security-Policy"> 或一个 data-trusted-policies 要设置的属性 <html>。 。 。 .

信任类型 API 给网页开发者一个锁定不安全部分的方法 用于防止客户端跨站点脚本(XSS)攻击的 DOM API.

包含脚本/模块

  • trusted-types: 填充 globalThis.trustedTypes 对象
  • harden: 覆盖“ 注入槽” 属性设置器( L)
  • bundle: 加载多填充和有条件的"硬"s

版本与发布记录

@aegisjsproject/trusted-types 共发布 4 个版本,首次发布于 2024/04/02;过去 12 个月发布了 1 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.1.0latest2026/06/154 个月前
1.0.22024/09/202 年前
1.0.12024/04/022 年前
1.0.02024/04/022 年前

关于 @aegisjsproject/trusted-types 的常见问题

@aegisjsproject/trusted-types 是什么?

信任类型 API 的多填充

如何安装 @aegisjsproject/trusted-types?

在项目目录运行 npm install @aegisjsproject/trusted-types,或使用 pnpm add / yarn add / bun add。

@aegisjsproject/trusted-types 支持 TypeScript 吗?

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

@aegisjsproject/trusted-types 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aegisjsproject/trusted-types 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aegisjsproject/trusted-types 可以商用吗?

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

@aegisjsproject/trusted-types 的下载量有多少?

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

@aegisjsproject/trusted-types 还在维护吗?

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