跳到内容
Tauri

隔离模式

隔离模式是一种拦截和修改前端发送给 Tauri 核心的 Tauri API 消息的方法,所有操作都使用 JavaScript 完成。通过隔离模式注入的安全 JavaScript 代码被称为隔离应用程序。

隔离模式的目的是为开发者提供一种机制,帮助保护他们的应用程序免受前端对 Tauri 核心的非预期或恶意调用。隔离模式的需求源于在前端运行的不可信内容带来的威胁,这在有许多依赖项的应用程序中很常见。有关应用程序可能面临的多种威胁来源,请参阅安全:威胁模型

上述威胁模型中,隔离模式设计时考虑的最大威胁是开发威胁。许多前端构建时工具不仅包含数十(或数百)个通常深度嵌套的依赖项,而且复杂的应用程序还可能包含大量(也通常深度嵌套的)捆绑到最终输出中的依赖项。

Tauri 强烈建议在任何可以使用隔离模式的情况下都使用它。由于隔离应用程序拦截了**所有**来自前端的消息,因此它**始终**可以使用。

Tauri 还强烈建议在使用外部 Tauri API 时锁定您的应用程序。作为开发者,您可以利用安全的隔离应用程序来尝试验证 IPC 输入,以确保它们在预期参数范围内。例如,您可能希望检查文件读写调用是否未尝试访问应用程序预期位置之外的路径。另一个例子是确保 Tauri API HTTP fetch 调用只将其 Origin 头部设置为应用程序预期值。

也就是说,它会拦截**所有**来自前端的消息,因此即使是事件等始终开启的 API 也能正常工作。由于某些事件可能会导致您的 Rust 代码执行操作,因此可以对它们使用相同的验证技术。

隔离模式旨在通过在前端和 Tauri 核心之间注入一个安全应用程序来拦截和修改传入的 IPC 消息。它通过使用 `