Rybená Logo

Configuração CSP

Se você usa Content Security Policy (CSP) em seu site, você precisa configurá-lo para permitir que a Rybená funcione corretamente.

Configuração Recomendada

Content-Security-Policy:
  default-src 'self';
  script-src 'self' cdn.rybena.com.br libras.rybena.com.br;
  connect-src 'self' libras.rybena.com.br tts.rybena.com.br dicio.rybena.com.br repository.rybena.com.br;
  frame-src repository.rybena.com.br;
  style-src 'self' 'unsafe-inline';
  img-src 'self' data: cdn.rybena.com.br libras.rybena.com.br repository.rybena.com.br;
  font-src 'self' cdn.rybena.com.br repository.rybena.com.br;
  media-src 'self' repository.rybena.com.br;
  object-src 'none';

Explicação das Diretivas

DiretivaPropósito
script-srcPermite carregar scripts do CDN da Rybená
connect-srcPermite conexões com os servidores de tradução e TTS
frame-srcPermite iframes do repositório de recursos
style-srcPermite estilos inline necessários para o player
img-srcPermite carregar imagens dos servidores da Rybená
font-srcPermite carregar fontes dos servidores da Rybená
media-srcPermite carregar mídia (vídeos, áudios) do repositório

Exemplo em HTML

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self'; script-src 'self' cdn.rybena.com.br libras.rybena.com.br; connect-src 'self' libras.rybena.com.br tts.rybena.com.br dicio.rybena.com.br repository.rybena.com.br; frame-src repository.rybena.com.br; style-src 'self' 'unsafe-inline'; img-src 'self' data: cdn.rybena.com.br libras.rybena.com.br repository.rybena.com.br; font-src 'self' cdn.rybena.com.br repository.rybena.com.br; media-src 'self' repository.rybena.com.br; object-src 'none';"
/>

Exemplo em Next.js

// next.config.js
const cspHeader = `
  default-src 'self';
  script-src 'self' cdn.rybena.com.br libras.rybena.com.br;
  connect-src 'self' libras.rybena.com.br tts.rybena.com.br dicio.rybena.com.br repository.rybena.com.br;
  frame-src repository.rybena.com.br;
  style-src 'self' 'unsafe-inline';
  img-src 'self' data: cdn.rybena.com.br libras.rybena.com.br repository.rybena.com.br;
  font-src 'self' cdn.rybena.com.br repository.rybena.com.br;
  media-src 'self' repository.rybena.com.br;
  object-src 'none';
`;

module.exports = {
  async headers() {
    return [
      {
        source: "/:path*",
        headers: [
          {
            key: "Content-Security-Policy",
            value: cspHeader.replace(/\n/g, ""),
          },
        ],
      },
    ];
  },
};

Exemplo em Nginx

# nginx.conf
add_header Content-Security-Policy "default-src 'self'; script-src 'self' cdn.rybena.com.br libras.rybena.com.br; connect-src 'self' libras.rybena.com.br tts.rybena.com.br dicio.rybena.com.br repository.rybena.com.br; frame-src repository.rybena.com.br; style-src 'self' 'unsafe-inline'; img-src 'self' data: cdn.rybena.com.br libras.rybena.com.br repository.rybena.com.br; font-src 'self' cdn.rybena.com.br repository.rybena.com.br; media-src 'self' repository.rybena.com.br; object-src 'none';" always;

Exemplo em Apache

# .htaccess
<IfModule mod_headers.c>
  Header always set Content-Security-Policy "default-src 'self'; script-src 'self' cdn.rybena.com.br libras.rybena.com.br; connect-src 'self' libras.rybena.com.br tts.rybena.com.br dicio.rybena.com.br repository.rybena.com.br; frame-src repository.rybena.com.br; style-src 'self' 'unsafe-inline'; img-src 'self' data: cdn.rybena.com.br libras.rybena.com.br repository.rybena.com.br; font-src 'self' cdn.rybena.com.br repository.rybena.com.br; media-src 'self' repository.rybena.com.br; object-src 'none';"
</IfModule>

Dica: Esta configuração permite que todos os recursos necessários para o funcionamento da Rybená sejam carregados corretamente, mantendo a segurança do seu site.

Próximos Passos

Agora que você configurou o CSP, você pode:

Nesta página