Перейти к основному содержимому

Работа с плагинами при использовании CSP

Введение​

Content Security Policy (CSP, политика безопасности содержимого) — это стандарт безопасности, предназначенный для предотвращения таких угроз, как XSS-атаки (Cross-Site Scripting, межсайтовый скриптинг). Когда на вашем веб-сервере включена CSP, она позволяет загружать содержимое только из разрешенных источников и блокирует запросы к любым сторонним доменам, которые не были явно разрешены.

Если вы используете ONLYOFFICE Docs (Enterprise Edition или Developer Edition), интегрированный с вашим веб-решением, и при этом включена CSP, плагины, использующие сторонние ресурсы, не смогут правильно работать. Чтобы это исправить, необходимо добавить домены, используемые этими плагинами, в список разрешенных источников CSP.

Добавление доверенных доменов​

CSP настраивается с помощью HTTP-заголовка Content-Security-Policy. Заголовок содержит директивы, которые указывают разрешенные источники для разных типов содержимого. Директива default-src применяется в тех случаях, если директива для определенного типа ресурса не задана. 'self' означает, что содержимое можно загружать только с текущего домена.

Типичный заголовок выглядит следующим образом:

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

Чтобы разрешить плагину доступ к нужному ему внешнему домену, добавьте этот домен в директиву default-src:

default-src 'self' *.trusted-domain.com

Это позволит выполнять запросы на указанный домен, включая его поддомены, и загружать с него содержимое. Повторите это для каждого плагина, которому требуется внешний доступ.

примечание

Расположение HTTP-заголовка зависит от вашего веб-сервера и способа интеграции. В данной статье описываются базовые принципы.

примечание

Чтобы определить, какие домены нужны плагину, откройте инструменты разработчика в браузере, перейдите на вкладку Network (Сеть) и запустите плагин. Все заблокированные внешние запросы будут отображаться как неудачные, и именно домен из этих запросов нужно добавить в список разрешенных источников CSP.

Пример: разрешение плагина YouTube​

Плагин youtube загружает видео с www.youtube.com. Если не добавить этот домен в список разрешенных источников CSP, плагин не сможет загружать видео.

Чтобы разрешить его работу, добавьте *www.youtube.com в директиву default-src:

Header set Content-Security-Policy "default-src 'self' *www.youtube.com; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';"

Используйте тот же подход для любого другого установленного плагина, использующего сторонние ресурсы, добавляя нужный ему домен в директиву таким же образом.