Nola lagun zaitzakegu?

Esaguzu labur zertaz ari zaren, eta posta elektronikoz erantzungo dizugu.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Itzuli hasierako orrira

Segurança e Content Security Policy

Quais entradas sua Content Security Policy precisa para o widget, por que funciona sem script inline e unsafe-inline, como fica isolado da página e quais segredos nunca devem estar no navegador.

A Content Security Policy

O widget não carrega fontes de terceiros nem pixels de rastreamento e não executa eval. Define seus estilos por folhas de estilo construíveis (adoptedStyleSheets) no shadow DOM; elas não são abrangidas por style-src. Por isso, você não precisa de unsafe-inline nem de unsafe-eval.

Com os endereços do reactive.chat:

Content-Security-Policy:
  script-src 'self' https://cdn.reactive.chat;
  connect-src 'self' wss://ws.reactive.chat https://ws.reactive.chat;
  img-src 'self' data: https:;

Com um domínio próprio:

Content-Security-Policy:
  script-src 'self' https://chat.your-company.com;
  connect-src 'self' wss://chat.your-company.com https://chat.your-company.com;
  img-src 'self' data: https:;

As entradas individuais:

Navegadores antigos sem folhas de estilo construíveis (como Safari anterior ao 16.4) recorrem a um elemento <style>, bloqueado por uma style-src rigorosa. O widget funciona neles, mas sem estilo.

Não é necessário script inline

A instalação consiste apenas em um <script src> com atributos. Suas chamadas próprias (identify, track, open) devem ficar em arquivos de script próprios ou em um script inline com nonce:

<script nonce="R4nd0mN0nc3">
  ReactiveChat('identify', { userId: '4711', userHash: '…', exp: 1792503600 });
</script>

Um modelo sem script inline está em Identificar visitantes.

Subresource Integrity

loader.js não tem número de versão no nome e é atualizado continuamente; um atributo integrity desativaria o chat na próxima atualização. O núcleo é carregado com um hash de conteúdo no nome (Arquitetura). Se sua política exigir SRI, hospede loader.js por conta própria e defina data-rc-ws-url (Início rápido), mas as atualizações também passam a ser sua responsabilidade.

Isolamento da sua página

Verificação de origem

A conexão do chat só é aceita a partir dos domínios listados no projeto em Origens permitidas (incluindo subdomínios). Uma página de terceiros que copie sua chave do site recebe origin_denied. Se a lista estiver vazia, não há verificação; portanto, cadastre sempre seus domínios. Detalhes em Transporte.

A chave do site em si não é um segredo; está no código-fonte de todas as páginas.

O que nunca deve estar no navegador

Nem em um aplicativo, repositório público ou endereço de página.

Proteção contra abuso

O servidor limita conexões, quadros e mensagens por conexão e por endereço e bloqueia após violações repetidas (fechamento 1008). Atrás do seu próprio proxy, só conta por endereço de visitante se a chave de proxy estiver correta; caso contrário, todos os visitantes compartilham o endereço do proxy. Números em Limites e cotas.

A seguir: Domínio próprio

Azken eguneratzea: