É possível impedir que o Chrome e outros navegadores pré-busquem / renderizem meu site?


14

Sei que você pode orientar o Chrome a buscar previamente links que você acha que os usuários provavelmente clicam no seu site , mas você também pode fazer o inverso? Você pode dizer ao Chrome (ou realmente a qualquer navegador) para não buscar e pré-renderizar seu site?

Existe uma tag ou outra maneira de informar aos navegadores que a busca prévia de links da página visualizada no momento não deve ser realizada?


1
Curioso, por que você quer isso?
Martijn

@Martijn Um caso que eu posso ver é quando seu site contém conteúdo altamente dinâmico ou dependente do tempo, em que um atraso entre a renderização da página e o momento em que o usuário realmente isso importa.
Anders Fjeldstad

Respostas:


12

Chrome e Safari enviam um X-Purpose: previewcabeçalho HTTP ao buscar / renderizar conteúdo da web. [ Fonte ]

O Firefox envia um cabeçalho semelhante chamado X-moz: prefetch. [ Fonte ]

Para bloquear a pré-busca, você pode retornar uma resposta 404 quando esses cabeçalhos forem detectados, conforme sugerido por Peter Freitag nesta postagem do blog . Ele recomenda adicionar essas linhas .htaccesspara bloquear a pré-busca do Firefox:

RewriteEngine On
SetEnvIf X-moz prefetch HAS_X-moz 
RewriteCond %{ENV:HAS_X-moz} prefetch 
RewriteRule .* /prefetch-attempt [L]

Você pode estender isso para bloquear a pré-busca do Firefox, Safari e Chrome assim (não testado, mas deve funcionar):

RewriteEngine On
SetEnvIf X-moz prefetch HAS_preview 
SetEnvIf X-Purpose preview HAS_preview
RewriteCond %{ENV:HAS_preview} .
RewriteRule .* /prefetch-attempt [L]


1

A resposta acima não funcionou para mim. O que funcionou, no entanto, foi o seguinte:

RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ proxy=yes
SetEnvIfNoCase X-moz prefetch no_access=yes

# block pre-fetch requests with X-moz headers
RewriteCond %{ENV:no_access} yes
RewriteRule .* - [F,L]

De: askapache.com

O sinalizador [F] retorna um código de status 403 Proibido para o navegador, enquanto o [L] indica que a regra deve ser a última regra a ser processada.

Além disso, o chrome parece não buscar mais links (pelo menos para as metatags anteriores / próximas).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.