本文由AI翻译

使用 CSP 时处理插件

简介

内容安全策略 (CSP) 是一种安全标准,旨在防止某些威胁,例如跨站脚本 (XSS) 攻击等。当启用 CSP 时,它仅允许从批准的来源加载内容。特别是,它禁止向未明确允许的第三方域发出请求。

如果您在与您的网络解决方案集成的 ONLYOFFICE 文档 (企业版开发者版) 中使用 CSP 来提高安全措施,CSP 的默认设置可能会导致一些问题。ONLYOFFICE 在线编辑器包含许多插件,其中一些使用第三方资源并向第三方域发出请求,例如 YouTube 插件。由于 CSP 禁止向第三方域发出请求,这会阻止插件正常工作,例如阻止加载 YouTube 视频。

将第三方域添加到允许的来源列表

为了让插件正常工作,您需要允许向某些域发出请求(完整的域列表如下所示)。这可以通过更改启用 CSP 的 HTTP 头来实现。根据您使用的解决方案,此头可能位于不同的文件中。本说明描述了基本原则,而不是个别情况。头应如下所示:

Header set Content-Security-Policy "default-src 'self'; script-src 'self'; connect-src 'self';  img-src 'self'; style-src 'self';"

此字符串包含指令,指定不同类型内容的允许来源:脚本、样式表、字体、图像、HTML5 <audio><video> 元素等。

当未指定某种资源类型的指令时,应用 default-src 指令。

‘self’ 意味着内容只能从当前域加载。

需要编辑 default-src 指令,添加可信域值:

default-src 'self' *.trusted1.com *.trusted2.com

这将允许向指定的可信域 *.trusted1.com*.trusted2.com 及其子域发出请求并加载内容。

第三方域列表

以下插件会向第三方域发出请求:

插件
clipart https://openclipart.org
speech https://code.responsivevoice.org
youtube https://www.youtube.com
thesaurus https://words.bighugelabs.com
translate https://translate.yandex.net
ocr https://cdn.rawgit.com

上述插件中,以下插件默认包含在 ONLYOFFICE 在线编辑器 中:ocrspeechthesaurustranslateyoutube

clipart 插件未包含在在线编辑器中,但可以在 https://github.com/ONLYOFFICE/sdkjs-plugins 上找到,您可以手动将其添加到编辑器中。

要将所有提到的域添加到允许的来源列表中,HTTP 头应如下所示:

Header set Content-Security-Policy "default-src 'self' *openclipart.org *code.responsivevoice.org *www.youtube.com *words.bighugelabs.com *translate.yandex.net *cdn.rawgit.com; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';"
如果您另外配置了 ONLYOFFICE 企业版 使用 CSP 并启用了 wordpresseasybib 插件,您还需要指定 *wordpress.com*easybib.com 域。

在您自己的服务器上托管 ONLYOFFICE 文档,或在云端使用

文章: 标签:
浏览所有标签