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

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

Введение​

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

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

Добавление сторонних доменов в список разрешенных источников​

Чтобы обеспечить правильную работу плагинов, необходимо разрешить запросы на определенные домены (полный список доменов приводится ниже). Для этого надо изменить HTTP-заголовок, включающий политику CSP. В зависимости от решения, которое вы используете, он может находиться в разных файлах. В данной инструкции описываются базовые принципы, а не конкретные случаи. Заголовок должен выглядеть следующим образом:

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

Эта строка содержит директивы, которые указывают разрешенные источники для разных типов содержимого: скриптов, таблиц стилей, шрифтов, изображений, элементов <audio> или <video> HTML5 и т.д.

Директива default-src применяется в тех случаях, если директива для определенного типа ресурса не задана.

‘self’ означает, что содержимое можно загружать только с текущего домена.

Необходимо изменить директиву default-src, добавив значения доверенных доменов:

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

Это позволит выполнять запросы на указанные доверенные домены *.trusted1.com и *.trusted2.com, включая их поддомены, и загружать с них содержимое.

Список сторонних доменов​

Следующие плагины выполняют запросы на сторонние домены:

ПлагинДомен
cliparthttps://openclipart.org
speechhttps://code.responsivevoice.org
youtubehttps://www.youtube.com
thesaurushttps://words.bighugelabs.com
translatehttps://translate.yandex.net
ocrhttps://cdn.rawgit.com

По умолчанию в состав онлайн-редакторов ONLYOFFICE включены следующие плагины из перечисленных: ocr, speech, thesaurus, translate, youtube.

Плагин 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 Enterprise Edition для использования CSP и подключили плагины wordpress и easybib, потребуется также указать домены *wordpress.com и *easybib.com.