Company Logo
Conselhos e respostas da equipe UserGuiding
Usuários
Engajamento
Configurações
Casos de Uso e Boas Práticas
UserGuiding e sua Política de Segurança de Conteúdo (CSP)
Regras da CSP da UserGuiding

Visão geral

A Política de Segurança de Conteúdo (CSP) é um padrão de segurança da Web amplamente suportado, destinado a evitar certos tipos de ataques baseados em injeção, dando aos desenvolvedores controle sobre os recursos carregados por seus aplicativos. Use este guia para entender como implantar a UserGuiding em um site que usa uma CSP.

 

TL;DR;

 

Abaixo está a lista completa das regras do CSP se você quiser usar todos os recursos da UserGuiding:

script-src: 'nonce-{SERVER-GENERATED-NONCE}'
connect-src: https://*.userguiding.com
img-src: https://*.userguiding.com
style-src: 'unsafe-inline'

 

Abaixo, você encontrará explicações e recursos relacionados da UserGuiding para cada uma das regras acima;

 

Ativação do snippet da UserGuiding

Com nonce

Para usar a UserGuiding em uma página com uma Política de Segurança de Conteúdo, a CSP deve permitir a execução do snippet da UserGuiding, que é um snippet JavaScript em linha que injeta o script do container. A maneira recomendada de fazer isso é com um nonce, que deve ser um valor aleatório indecifrável que o servidor gera individualmente para cada resposta. Forneça o valor do nonce na diretiva script-src da Política de Segurança de Conteúdo:

script-src 'nonce-{SERVER-GENERATED-NONCE}'


Em seguida, use a versão nonce-aware do snippet UserGuiding em linha, definindo o atributo nonce no elemento de script em linha com esse mesmo valor:

<script nonce="{SERVER-GENERATED-NONCE}">
(function(g,u,i,d,e,s){g[e]=g[e]||[];var f=u.getElementsByTagName(i)[0];var k=u.createElement(i);k.async=true;k.src='https://static.userguiding.com/media/user-guiding-'+s+'-embedded.js';f.parentNode.insertBefore(k,f);if(g[d])return;var ug=g[d]={q:[]};ug.c=function(n){return function(){ug.q.push([n,arguments])};};var m=['previewGuide','finishPreview','track','identify','triggerNps','hideChecklist','launchChecklist'];for(var j=0;j<m.length;j+=1){ug[m[j]]=ug.c(m[j]);}})(window,document,'script','userGuiding','userGuidingLayer','701241238ID');
</script>


A UserGuiding propagará o nonce para todos os scripts que adicionar à página.

Sem nonce

Se a abordagem de nonce recomendada não for viável, é possível ativar o script inline da UserGuiding adicionando a diretiva 'unsafe-inline' à seção script-src da CSP.

script-src https://*.userguiding.com 'unsafe-inline'

 

Permitir o uso de componentes da UI da UserGuiding

 

Estamos usando styled-components como nossa biblioteca de renderização de UI. Infelizmente, o SC atualmente não oferece suporte ao nonce do lado do cliente e deve haver uma regra unsafe-inline da CSP fornecida na diretiva style-src.

style-src 'unsafe-inline'

 

 

Permitir o uso de imagens no material de onboarding

Para usar a UserGuiding em uma página com uma Política de Segurança de Conteúdo, a CSP deve permitir a execução do snippet UserGuiding, que é um snippet JavaScript em linha que injeta o script do container. Forneça os seguintes valores nas directivas img-src e connect-src da Política de Segurança de Conteúdo:

img-src: https://*.userguiding.com
connect-src: https://*.userguiding.com

 

Permitir o uso do serviço de identificação do usuário

Para usar o serviço de identificação de usuários da UserGuiding, a CSP deve permitir a conexão com o back-end de armazenamento de usuários persistentes da UserGuiding. Esse aplicativo atua como um mecanismo de regras e armazena as interações dos usuários com guias, hotspots e checklists. Forneça os seguintes valores na diretiva connect-src da Política de Segurança de Conteúdo:

 

connect-src: https://*.userguiding.com

 

Saiba mais sobre a Identificação do Usuário.