Script do Flowsery Analytics bloqueado pela Content Security Policy (CSP)
Se adicionou o snippet de rastreamento do Flowsery Analytics mas nenhum pageview está a aparecer, os cabeçalhos de Content Security Policy (CSP) do seu site estão muito provavelmente a impedir o carregamento.
Diagnosticar um problema de CSP
- Abra o seu site no Chrome ou Firefox
- Abra as DevTools (F12 ou Cmd+Shift+I)
- Mude para o separador Console
- Procure um erro semelhante a:
Refused to load the script 'https://cdn.flowsery.com/main.js' because it violates the following Content Security Policy directive: "script-src 'self'"
```html Ver esta mensagem confirma que as regras CSP estão a impedir a execução do script do Flowsery Analytics. ## Compreender a Content Security
Policy Uma CSP é um cabeçalho HTTP que instrui os navegadores sobre quais recursos externos (scripts, stylesheets, imagens, etc.) são permitidos
carregar numa página. Quando `analytics.flowsery.com` não está incluído na política, o navegador bloqueia silenciosamente o script -- resultando em
nenhuns dados recolhidos. ## Resolver o problema Adicione `analytics.flowsery.com` à diretiva `script-src` dentro do seu cabeçalho CSP. Os passos
específicos variam por plataforma. ### Next.js Atualize o cabeçalho `Content-Security-Policy` dentro do seu `next.config.js`: ```js const
ContentSecurityPolicy = ` script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.flowsery.com; `; module.exports = { async headers() { return [ {
source: '/(.*)', headers: [ { key: 'Content-Security-Policy', value: ContentSecurityPolicy.replace(/\n/g, ''), }, ], }, ]; }, }; ```html ### Vercel
(vercel.json) ```json { "headers": [ { "source": "/(.*)", "headers": [ { "key": "Content-Security-Policy", "value": "script-src 'self' 'unsafe-inline'
https://analytics.flowsery.com;" } ] } ] } ```bash ### Netlify (\_headers file) ```html /* Content-Security-Policy: script-src 'self' 'unsafe-inline'
https://analytics.flowsery.com; ```html ### Tag meta HTML Quando não consegue modificar cabeçalhos do servidor, uma tag meta dentro do `<head>
` é uma alternativa: ```html
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline' https://cdn.flowsery.com;" />
</head>Note que esta abordagem só tem efeito quando nenhum cabeçalho CSP ao nível do servidor está presente -- os cabeçalhos do servidor sempre substituem as tags meta.
Nginx `nginx add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' https://cdn.flowsery.com;"
always; `html
Apache (.htaccess) `apache Header set Content-Security-Policy "script-src 'self' 'unsafe-inline'
https://analytics.flowsery.com;" `html
WordPress Se utiliza um plugin de segurança como WP Cerber, Sucuri ou Wordfence, navegue
até às definições de CSP ou "HTTP headers" e adicione https://analytics.flowsery.com à lista de fontes de script permitidas. Quando o seu tema
configura CSP diretamente no functions.php: php header("Content-Security-Policy: script-src 'self' 'unsafe-inline' https://analytics.flowsery.com;"); bash
A executar atrás de um proxy? Se configurou um proxy para o Flowsery Analytics, o script é servido a
partir do seu próprio domínio. Nesse cenário, 'self' na sua CSP já o permite, portanto não devem ser necessárias alterações adicionais. Se os
problemas persistirem após o proxy, verifique que o endpoint do proxy está no mesmo domínio que o seu website.
A usar connect-src? Se a sua CSP
também limita connect-src (que controla para onde o navegador pode enviar dados via fetch/XHR), inclua analytics.flowsery.com nessa diretiva
também:
</head>Ainda com problemas?
- Confirme que está a modificar o cabeçalho CSP ativo. Certos provedores de hospedagem ou CDNs podem substituir cabeçalhos.
- Procure múltiplos cabeçalhos CSP -- os navegadores aplicam a combinação mais restritiva de todos os cabeçalhos presentes.
- Limpe a cache do navegador e teste novamente numa janela privada/incógnita.
- Quando utilizar um proxy, certifique-se de que tanto
script-srccomoconnect-srcincluem o seu domínio de proxy.