Como usar plugins do ONLYOFFICE Docs com Política de Segurança de Conteúdo (CSP)
Introdução
A Política de Segurança de Conteúdo (CSP) é um padrão de segurança destinado a prevenir ameaças como ataques de Cross-Site Scripting (XSS). Quando a CSP está habilitada em seu servidor web, ela restringe o carregamento de conteúdo apenas a fontes aprovadas, bloqueando solicitações a quaisquer domínios de terceiros que não tenham sido explicitamente permitidos.
Se você está usando o ONLYOFFICE Docs (Enterprise Edition ou Developer Edition) integrado com sua solução web e a CSP está habilitada, os plugins que dependem de recursos de terceiros serão impedidos de funcionar corretamente. Para corrigir isso, você precisa adicionar os domínios usados por esses plugins à lista de permissões da CSP.
Adicionando domínios confiáveis
A CSP é configurada por meio do cabeçalho HTTP Content-Security-Policy. O cabeçalho usa diretivas para especificar as fontes permitidas para diferentes tipos de conteúdo. A diretiva default-src funciona como alternativa para qualquer tipo de recurso que não tenha sua própria diretiva. 'self' significa que o conteúdo só pode ser carregado do domínio atual.
Um cabeçalho típico tem a seguinte aparência:
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';"
Para permitir que um plugin acesse o domínio externo de que precisa, adicione esse domínio à diretiva default-src:
default-src 'self' *.trusted-domain.com
Isso permite solicitações ao domínio especificado e aos seus subdomínios, bem como o carregamento de conteúdo a partir deles. Repita isso para cada plugin que precisa de acesso externo.
A localização exata do cabeçalho HTTP depende do seu servidor web e da configuração da integração. Este artigo descreve o princípio geral.
Para identificar quais domínios um plugin requer, abra as ferramentas de desenvolvedor do navegador, vá para a aba Rede e execute o plugin. Todas as solicitações externas bloqueadas aparecerão como falhas, e o domínio nessas solicitações é o que você precisa adicionar à lista de permissões da CSP.
Exemplo: permitindo o plugin YouTube
O plugin youtube carrega conteúdo de vídeo de www.youtube.com. Sem adicionar esse domínio à lista de permissões da CSP, o plugin será impedido de carregar vídeos.
Para permiti-lo, adicione *www.youtube.com à diretiva 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';"
Aplique a mesma abordagem a qualquer outro plugin instalado que use recursos de terceiros, adicionando o domínio necessário à diretiva da mesma forma.