6 内容安全策略(CSP)

原文链接: https://tauri.app/security/csp/

Tauri 会限制你 HTML 页面的内容安全策略(CSP)。 这可以用来减少或防止跨站脚本(XSS)等常见 Web 漏洞的影响。

本地脚本会做哈希处理,样式和外部脚本则使用密码学 nonce 引用,从而阻止未允许的内容被加载。

只有在 Tauri 配置文件中设置了 CSP,CSP 防护才会启用。 你应当尽可能严格地限制它,只允许 webview 从你信任(最好是你自己拥有)的主机加载资源。 在编译期,Tauri 会自动把自己的 nonce 和哈希追加到打包代码与资源相关的 CSP 属性上,因此你只需关注自己应用特有的部分。

下面这个 CSP 配置示例取自 Tauri 的 api 示例,但每个应用开发者都需要根据自己的应用需求做调整。

tauri/examples/api/src-tauri/tauri.conf.json

1
2
3
4
5
6
7
  "csp": {
        "default-src": "'self' customprotocol: asset:",
        "connect-src": "ipc: http://ipc.localhost",
        "font-src": ["https://fonts.gstatic.com"],
        "img-src": "'self' asset: http://asset.localhost blob: data:",
        "style-src": "'unsafe-inline' 'self' https://fonts.googleapis.com"
      },

关于这项防护的更多信息,请参阅 script-src、style-src 和 CSP 来源。

最后修改 September 28, 2026: 更新 (7d1d86223)