Defaults.Exposed › Correções › Referrer-Policy
Como corrigir Referrer-Policy
Uma Referrer-Policy é uma instrução de uma linha que o seu site entrega ao navegador de cada visitante, controlando quanto do seu endereço web viaja com ele quando clica numa ligação para outro site. Sem ela, o endereço completo da página onde estava — termos de pesquisa, números de conta, ligações de reposição, caminhos internos e tudo — é entregue discretamente ao próximo site onde aterra, incluindo anunciantes, empresas de análise de dados e qualquer outro destino para onde uma ligação aponte.
O essencial para o seu negócio: Sempre que um visitante clica numa ligação externa, num anúncio ou num recurso partilhado, o navegador pode entregar ao destino o endereço completo da sua página — e se os seus endereços carregam pesquisas, IDs de cliente, números de encomenda ou ligações de uso único, está a expor dados de clientes a terceiros que não controla. Isso é um problema de proteção de dados que os reguladores levam a sério, uma promessa de privacidade discretamente quebrada e uma falha pontuada que a equipa de segurança de um cliente assinalará durante a sua diligência.
Quanto isto lhe pode custar
- Um cliente preenche um formulário ou faz uma pesquisa, depois clica numa ligação externa ou num anúncio — e o endereço da página, completo com o que escreveu, é entregue diretamente a um anunciante ou a uma empresa de análise de dados com quem nunca pretendeu partilhá-lo.
- As ligações de reposição de palavra-passe e de confirmação de conta transportam por vezes um token secreto no endereço web; sem este cabeçalho, clicar em qualquer ligação dessa página pode passar o endereço inteiro — token incluído — a um site externo.
- Caminhos internos privados (áreas de administração, páginas só para clientes, escalões de preços, ligações de documentos) são revelados a cada terceiro a que os seus visitantes acedem, entregando a concorrentes e bisbilhoteiros um mapa do seu site que nunca deviam ver.
- A revisão de segurança de um cliente ou uma auditoria de privacidade analisa o seu site, não vê Referrer-Policy e regista-o como falha de minimização de dados — o tipo de conclusão que trava um contrato ou uma certificação.
- Dados pessoais acabam nas mãos de subcontratantes com quem não tem qualquer acordo, transformando um descuido de cinco minutos numa violação de proteção de dados que tem de ser comunicada.
Por que importa. Os navegadores, entregues a si próprios, são faladores: por omissão, dizem ao próximo site de onde o visitante acabou de vir, muitas vezes incluindo o endereço completo da página. Para um site de brochura isso pode ser inofensivo, mas no momento em que os seus endereços contêm algo pessoal — um termo de pesquisa, um ID de encomenda, um e-mail numa ligação, um caminho privado — esse comportamento por omissão expõe-no discretamente a terceiros. Uma Referrer-Policy é a única definição que diz aos navegadores para pararem de partilhar a mais. É uma verificação pontuada no seu boletim que vale pontos a sério, mapeia diretamente para deveres de minimização de dados ao abrigo da lei de privacidade e é um dos cabeçalhos de segurança padrão que qualquer revisão profissional espera encontrar.
O que é isto, em palavras simples
Sempre que um visitante no seu site clica numa ligação para outro site — uma ligação externa, um banner publicitário, um «partilhar isto», até uma fonte ou imagem carregada de outro lado — o navegador anexa discretamente uma nota a dizer de que página sua ele veio. Essa nota chama-se referrer.
Usado com sensatez, o referrer é inofensivo e até útil: é assim que outros sites sabem que o tráfego veio de si, e alimenta muita análise de dados honesta. O senão está no comportamento por omissão. Sem gestão, o navegador não diz apenas «vieram de a-sua-empresa.com» — costuma entregar o endereço completo da página exata, incluindo tudo o que vem depois do nome do domínio. E os endereços web carregam muito mais do que as pessoas julgam: termos de pesquisa escritos no seu site, números de encomenda e de conta, o caminho para uma página privada só de membros, até tokens secretos de uso único em ligações de reposição de palavra-passe e de confirmação.
Uma Referrer-Policy é uma única instrução que o seu site envia ao navegador a dizer quanto dessa nota está autorizado a partilhar. Pode dizer-lhe para partilhar só o nome do seu domínio, só para outras páginas do seu próprio site, ou nada de todo. Pense nela como a diferença entre entregar a um estranho a sua morada completa com a sua agenda diária anexada, e simplesmente dizer-lhe em que cidade vive.
Este é um de uma pequena família de «cabeçalhos de segurança» — instruções curtas que o seu site dá ao navegador de cada visitante. Não muda o aspeto nem o funcionamento do seu site. Simplesmente impede o navegador de partilhar a mais em seu nome.
O que isto lhe pode custar
Eis formas concretas e do dia a dia em que uma Referrer-Policy em falta ou permissiva morde empresas reais. Nenhuma destas exige um hacker — acontecem automaticamente, todos os dias, em uso normal.
-
A pesquisa exposta. Um cliente pesquisa no seu site algo sensível — um produto médico, um serviço relacionado com dívidas, uma comparação com a concorrência — e o termo de pesquisa fica no endereço da página. Depois clica numa ligação externa ou num anúncio nessa página de resultados. O anunciante recebe agora o seu endereço com o termo de pesquisa lá dentro, ficando a saber exatamente o que o seu cliente procurava. Nunca concordou em partilhar isso, e não o pode recuperar.
-
A ligação de reposição exposta. Muitos sistemas põem um token secreto de uso único no endereço das páginas de reposição de palavra-passe, de confirmação de e-mail ou de «início de sessão mágico». Se essa página contiver qualquer ligação externa ou recurso de terceiros, o endereço completo — token incluído — pode ser entregue a um site externo. No pior caso, isso entrega a um terceiro as chaves de uma conta.
-
O mapa do site que ofereceu de graça. Os seus caminhos internos revelam muitas vezes a sua estrutura: /admin, /precos-empresa, /clientes/acme, /downloads/relatorio-privado. Sem este cabeçalho, cada site externo a que os seus visitantes acedem recebe esses caminhos. Os concorrentes ficam a conhecer os seus escalões de preços e linhas de produto; os scrapers ficam a saber que páginas atacar.
-
A relação de partilha de dados indesejada. A lei de privacidade espera que saiba para onde vão os dados pessoais dos seus clientes e que tenha um acordo em vigor. Expor endereços de páginas que contêm IDs de cliente ou endereços de e-mail a redes de publicidade e empresas de análise de dados — sem acordo e sem consentimento — é exatamente o tipo de fluxo de dados descontrolado que transforma uma auditoria de rotina numa conclusão, e uma conclusão numa violação que tem de ser comunicada.
-
O negócio que trava na diligência. Quando a equipa de segurança de um cliente maior o avalia, a ausência de cabeçalhos de segurança padrão é uma caixa rápida e automática de marcar. Ver a Referrer-Policy ausente diz-lhes que a higiene básica de privacidade nunca foi configurada — e essa impressão tinge tudo o resto na revisão.
O que isto é, na realidade
Por omissão, os navegadores seguem um comportamento aproximadamente equivalente a «strict-origin-when-cross-origin» nas versões modernas — mas não pode confiar nisso, porque navegadores mais antigos, webviews incorporadas e certas configurações ainda recaem em expor mais. A única forma de ter a certeza é definir a política explicitamente. Ao fazê-lo, está a escolher uma regra de uma lista curta. As que importam:
- no-referrer — não partilhar nada. Ao próximo site não é dito nada sobre de onde o visitante veio. Privacidade máxima; pode amortecer a sua análise de referências.
- same-origin — partilhar o endereço completo apenas quando o visitante se move entre páginas do seu próprio site; não partilhar nada com sites externos.
- strict-origin-when-cross-origin — a recomendação por omissão. Dentro do seu próprio site, o caminho completo é partilhado; para sites externos, só o seu nome de domínio simples é partilhado (e nada de todo ao passar de uma página segura para uma insegura). Os terceiros ficam a saber que o tráfego veio de si, mas nunca os detalhes privados depois do seu domínio.
- origin — partilhar sempre só o nome do seu domínio, mesmo dentro do seu próprio site.
E os dois valores a evitar, porque o boletim os trata como nada melhor do que não ter cabeçalho nenhum:
- unsafe-url — partilhar o endereço completo com toda a gente, sempre. É o pior caso numa só palavra.
- no-referrer-when-downgrade — a antiga omissão dos navegadores; continua a enviar o endereço completo a outros sites seguros, expondo tudo o que foi descrito acima.
O que é «bom»: um cabeçalho Referrer-Policy presente e definido com um valor restritivo — para a maioria das empresas, strict-origin-when-cross-origin. Isto mantém a análise de referências a funcionar enquanto garante que nada para além do nome do seu domínio chega a um site externo.
Como corrigir (gratuito, cerca de 5 minutos)
Entregue esta secção ao seu responsável de TI, programador web ou apoio de alojamento — a correção é gratuita, é uma única linha e não parte o seu site. Não há aqui um lançamento arriscado: ao contrário de algumas definições de segurança, uma Referrer-Policy sensata não pode impedir as suas ligações ou páginas de funcionar. Só encurta o que é partilhado com outros sites.
O objetivo: definir um cabeçalho de resposta Referrer-Policy com o valor strict-origin-when-cross-origin (ou um valor mais restritivo, se preferir partilhar ainda menos).
Cloudflare (sem código — o mais fácil, se a usar):
Dashboard → o seu domínio → Rules → Transform Rules → Modify Response Header → Create rule → Set static → nome do cabeçalho Referrer-Policy, valor strict-origin-when-cross-origin → aplicar a todos os pedidos → Deploy.
Google Workspace / Microsoft 365: estes gerem o seu e-mail, não o seu site, por isso o cabeçalho define-se onde o seu site está realmente alojado (o seu fornecedor de alojamento, CDN ou servidor) — não na administração do Workspace ou do 365. Identifique o alojamento e use a opção correspondente abaixo.
Nginx:
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
Apache (na configuração do site ou no .htaccess):
Header always set Referrer-Policy "strict-origin-when-cross-origin"
IIS (web.config):
<httpProtocol><customHeaders>
<add name="Referrer-Policy" value="strict-origin-when-cross-origin" />
</customHeaders></httpProtocol>
Node / Express:
app.use((req, res, next) => { res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin'); next(); });
WordPress / alojamentos comuns: a maioria dos WordPress geridos e dos alojamentos partilhados deixam-no adicionar cabeçalhos de resposta através de um plugin de segurança, de um painel de «cabeçalhos» no painel de controlo do alojamento, ou do trecho .htaccess acima. Se estiver por trás da Cloudflare, o método da Cloudflare é o mais limpo e aplica-se em todo o lado de uma vez.
Depois de aplicar: abra o seu site e volte a correr a verificação, ou use as ferramentas de programador do navegador (separador Network → clicar no documento principal → Response Headers) para confirmar que Referrer-Policy: strict-origin-when-cross-origin está presente.
Erros comuns
- Definir um valor permissivo e julgar que conta. O
unsafe-urle ono-referrer-when-downgradecontinuam ambos a expor o endereço completo. O boletim pontua-os a zero — idêntico a não ter cabeçalho. Se o cabeçalho está presente mas os pontos não, é quase sempre por isto. - Defini-lo só na página inicial. O cabeçalho deve ser enviado em todas as páginas, porque as fugas acontecem nas páginas de resultados de pesquisa, de conta e de reposição — não na página inicial. Defina-o ao nível do servidor, da CDN ou da Cloudflare para que se aplique a todo o site automaticamente.
- Defini-lo só em etiquetas
<meta>no HTML. Uma etiqueta<meta name="referrer">funciona para alguns casos mas não todos, e é fácil ficar inconsistente entre páginas. Defini-lo como um cabeçalho de resposta adequado (os métodos acima) é a abordagem fiável. - Deixar uma camada sobrepor-se a outra. Se tanto o seu servidor de origem como a sua CDN definirem o cabeçalho com valores diferentes, o resultado pode ser imprevisível. Escolha um sítio para o gerir — normalmente a CDN ou a Cloudflare, se tiver uma — e mantenha o resto consistente.
- Tratá-lo como substituto de manter dados fora dos URLs. O cabeçalho limita o dano, mas o hábito mais limpo a longo prazo é não pôr, à partida, segredos e dados pessoais nos endereços web. Use o cabeçalho agora; levante a higiene dos URLs com o seu programador como seguimento.
Uma nota rápida sobre os cabeçalhos relacionados
A Referrer-Policy fica ao lado de um pequeno conjunto de outros cabeçalhos de segurança web que verificamos — Content-Security-Policy, X-Frame-Options, X-Content-Type-Options e alguns cabeçalhos avançados de cross-origin. Protegem coisas diferentes, por isso ter um não cobre os outros. Se a sua Referrer-Policy está em falta, vale a pena pedir a quem a corrige que confirme, ao mesmo tempo, que os outros cabeçalhos padrão estão implementados, já que são habitualmente configurados no mesmo único sítio e a visita não custa nada extra.
Em resumo
A Referrer-Policy é a correção de privacidade mais barata e segura do seu boletim: uma linha, cerca de cinco minutos, sem risco de partir nada, e gratuita. Impede que os navegadores dos seus visitantes entreguem discretamente os seus endereços de página privados — e quaisquer dados pessoais que contenham — a cada site externo a que acedem. Defina-a como strict-origin-when-cross-origin, confirme que está ativa em todas as páginas, e a falha de severidade média e os seus 15 pontos ficam fechados.
Perguntas frequentes
Não percebo de tecnologia — isto é algo de que consigo tratar?
Sim, e é uma das correções mais fáceis de todo o boletim. É uma única linha acrescentada por quem gere o seu site ou alojamento, e em serviços como a Cloudflare são uns cliques sem qualquer código. Entregue-lhe a secção «Como corrigir» mais abaixo. É gratuita, demora cerca de cinco minutos e, ao contrário de algumas definições de segurança, não parte nada no seu site.
O que significa «referrer», afinal?
Quando alguém clica numa ligação da sua página para outro site, o navegador envia junto uma nota a dizer de que página veio — essa nota chama-se referrer. É genuinamente útil para análise de dados honesta. O problema é que, por omissão, a nota costuma incluir o endereço completo da sua página, não só o nome do domínio. Se esse endereço contiver algo privado, também é partilhado. Uma Referrer-Policy permite-lhe encurtar a nota apenas ao seu domínio, ou desligá-la, para que nada de sensível escape.
Vale mesmo a pena se o meu site não processa pagamentos?
Quase de certeza que sim. Não precisa de um checkout para ter informação privada nos seus endereços web — caixas de pesquisa, formulários de contacto, páginas de conta, ligações de documentos e e-mails de reposição de palavra-passe põem todos, rotineiramente, dados na barra de endereço. E mesmo sem qualquer dado pessoal, expor os seus caminhos internos a cada site externo a que os visitantes acedem entrega a concorrentes e scrapers um mapa gratuito do seu site. A correção não custa nada e cinco minutos, por isso há pouca razão para a saltar.
Ligar isto pode partir o meu site ou a minha análise de dados?
Não. Este é um dos cabeçalhos seguros — só controla quanto detalhe do endereço é partilhado com outros sites, não se as ligações funcionam. A definição recomendada continua a enviar o nome do seu domínio a sites externos, por isso a análise legítima de referências continua a funcionar; só impede que o endereço privado completo vá junto. Não é preciso um período de só-observação nem testes prévios em ambiente de teste.
Isto é uma questão de lei de privacidade ou só um extra simpático?
Pode ser uma questão genuína de conformidade. As regras de proteção de dados exigem que recolha e partilhe apenas o mínimo de dados pessoais necessário e que saiba para onde vão os seus dados. Se os seus endereços carregam identificadores pessoais e os expõe a anunciantes ou empresas de análise de dados sem acordo, isso é uma falha de minimização de dados que auditores e reguladores reconhecem. Para a maioria das empresas, este cabeçalho é uma forma barata e concreta de fechar essa falha.
Isto afeta a nossa nota, ou é só conselho?
Afeta a sua nota. A verificação Referrer-Policy é pontuada e vale até 15 pontos na categoria Segurança Web. Um cabeçalho em falta é marcado com severidade média. Atenção a uma armadilha: definir o cabeçalho com um valor permissivo como «unsafe-url» ou «no-referrer-when-downgrade» pontua zero — o mesmo que não ter cabeçalho nenhum — porque esses valores continuam a expor o endereço completo. Para ganhar os pontos precisa de um valor devidamente restritivo, como «strict-origin-when-cross-origin».