Caja 是一个用于在您的网站中安全嵌入第三方 HTML、CSS 和 JavaScript 的工具。
Caja 是一个用于使第三方 HTML、CSS 和 JavaScript 安全地嵌入到您的网站中的工具。它支持嵌入页面与嵌入应用程序之间的丰富交互。Caja 使用对象能力安全模型,可实现各种灵活的安全策略,从而使您的网站能够有效控制嵌入的第三方代码对用户数据的操作。Caja 支持大多数 HTML 和 CSS 以及最近标准化的 "严格模式" JavaScript 版本的 JavaScript — — 即使在不支持严格模式的旧版浏览器中也是如此。它允许第三方代码在不支持这些功能的旧版浏览器中使用新的 JavaScript 功能。
2021 年 1 月 31 日,我们将归档 Caja 项目。从 2021 年 1 月 31 日起,将不再添加新功能,拉取请求和其他问题将不再得到解决,包括针对安全问题的补丁,仓库也将被标记为归档。Caja 并未被积极维护或开发,以跟上 Web 安全领域的最新研究。因此,Google 安全工程师和外部研究人员都已向 Caja 报告了多个安全漏洞。
我们鼓励 Caja 的 HTML 和 CSS 清洁工具的用户迁移到 Closure 工具包,这是一个适用于 JavaScript 的 开源 工具包。Closure 由包括搜索、Gmail、文档和地图在内的各种应用程序所使用。Closure 库内置了 HTML 和 CSS 清洁工具,并提供了对重要安全缓解措施(如内容安全策略和可信类型)的原生支持。此外, Closure 模板提供了一个严格的上下文自动转义系统,可大大降低应用程序中 XSS 的风险。
新的 JavaScript 功能。 Caja 模拟 ECMAScript 5 的所有新功能,包括 getter 和 setter、不可枚举属性以及只读属性。新的浏览器原生支持这些功能,但较旧的浏览器仍然拥有大量用户基础。Caja 会在不原生支持这些功能的浏览器上模拟这些新功能。
暂无开放 Issues,或尚未同步最近议题。