Pular para o conteúdo
Patrocinado AccsZone — 社媒账号, 下单自动秒发

Teste de impressão digital do navegador

Todos os valores que um site consegue ler do seu navegador sem permissão, de canvas e WebGL a fontes, tela e client hints, com o hash em que se combinam e o que um site rigoroso faz com ele.

Componentes da impressão digital

Não executado
Hash combinado:detectando…
SinalValorO que revela
Canvas—Hash de uma imagem oculta desenhada com texto e formas; varia com GPU, driver, fontes e anti-aliasing.
WebGL—Strings de renderizador e fabricante gráfico, mais o hash de uma cena renderizada.
Áudio—Hash de um sinal de áudio silencioso processado pelo motor de áudio do navegador.
Fontes—Quais fontes de uma lista de fontes comuns estão instaladas, medido pela largura do texto.
Tela—Resolução, profundidade de cor e proporção de pixels.
Fuso horário—O fuso horário que o navegador informa; comparado com a localização do seu IP nas páginas de pontuação.
Idiomas—Idiomas preferidos, a partir do cabeçalho da requisição e de navigator.languages.
Client hints—Cabeçalhos Sec-CH-UA: marca do navegador, plataforma e sinalizador de dispositivo móvel enviados por navegadores Chromium.
Plugins—Plugins e tipos MIME instalados (quase sempre vazio em navegadores modernos).
Suporte a toque—Número máximo de pontos de toque, uma pista sobre a classe do dispositivo.
Hash da impressão digital—SHA-256 de todos os componentes acima, o identificador que um rastreador armazenaria.

Pontuação de unicidade

enviando hashes…
–
detectando…
–/100 unicidade · – bits · – visitors

Cada linha mostra quantos visitantes desta página tinham exatamente o seu valor para aquele componente. As proporções se multiplicam: uma impressão digital feita de vários valores incomuns é rara mesmo quando cada valor sozinho não é. Os componentes são correlacionados (plataforma, user agent e tela andam juntos), então a contagem de bits é um limite superior.

ComponenteVisitantes com o seu valorContagemBits
Canvas—
WebGL—
Áudio—
Fontes—
Tela—
Fuso horário—
Idiomas—
Plataforma—
User agent—
Plugins—
Toque—

O que armazenamos: apenas um hash SHA-256 por componente e um contador. Nenhum endereço IP, nenhum valor bruto, nenhum registro por visitante — o corpus não pode ser revertido para o navegador de ninguém.

Verificação de consistência

heurísticas de anti-detect e spoofing
–
Parece ser: verificando…
–/100 consistência · – rules

Perfis falsificados mudam um valor e esquecem os outros com os quais ele precisa concordar. Estas regras comparam os valores informados entre si e com os cabeçalhos da requisição; cada regra é listada com o seu peso para que o veredito seja reproduzível.

Visível ao servidor sem JavaScript

155da7955a41c31c
Navegador
desconhecido
Motor
—
Sistema
—
Dispositivo
Bot ou script
Idiomas
—
Bot / ferramenta
ClaudeBot
CabeçalhoValor
user-agentMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
accept*/*
accept-encodingbr

Estes cabeçalhos chegam com toda requisição e já restringem o seu navegador, sistema e idioma antes de qualquer script rodar. Cabeçalhos HTTP →

Como este teste funciona

Uma impressão digital tem duas camadas, e esta página mostra as duas.

A camada passiva é o que o nosso servidor vê antes de qualquer script rodar. A requisição do seu navegador carrega a string de user agent, os cabeçalhos de client hints que os navegadores modernos enviam em seu lugar, os cabeçalhos Accept, Accept-Language e Accept-Encoding, os cabeçalhos Sec-Fetch que descrevem como a página foi requisitada e alguns opcionais como Do Not Track ou Save-Data. Listamos esses cabeçalhos, decompomos o user agent em navegador, motor, sistema operacional e tipo de dispositivo e fazemos o hash do conjunto como impressão digital passiva. Qualquer site registra isso em um carregamento comum: sem script, sem permissão, sem cookie.

A camada ativa é o que o script da página coleta quando roda. Cada linha do registro é um sinal:

Linha O que o script lê Por que varia
Canvas Desenha uma imagem fixa com texto, formas e mistura de cores, exporta e faz o hash dos pixels Fontes, anti-aliasing, GPU e driver diferem entre máquinas
WebGL Strings de renderizador e fabricante gráfico e uma cena renderizada, em hash Nomeia a GPU e o driver; a renderização varia por hardware
Áudio Processa um sinal fixo pela API de áudio e faz o hash da saída O comportamento de ponto flutuante da pilha de áudio varia por plataforma
Fontes Mede texto em uma lista de fontes comuns para ver quais estão instaladas Dependem do sistema, de pacotes de idioma e de softwares
Tela Resolução, área disponível, profundidade de cor, proporção de pixels Hardware e escala de exibição
Fuso horário O fuso que o navegador informa Uma configuração; comparada com a localização do IP na pontuação de anonimato
Idiomas A lista de idiomas do navegador Uma configuração; comparada com o país do IP
Client hints Plataforma, arquitetura, modelo, versão completa do navegador quando fornecidos Substituem o detalhe do user agent em navegadores Chromium
Plugins Listas de plugins e tipos MIME, hoje quase só visualizadores de PDF Navegador e plataforma
Toque Suporte a toque e número máximo de pontos Tipo de dispositivo
Hash Tudo acima combinado com a camada passiva em um único valor A impressão digital como um todo

Todos os valores são calculados no seu navegador. O botão de executar recalcula tudo para que você verifique se o resultado é estável. A página de impressão digital de canvas mostra o desenho em tamanho real.

Como ler o resultado

Estabilidade. Execute de novo. Em um navegador sem randomização, o hash é idêntico sempre. Se muda, uma configuração ou extensão está alterando um valor a cada execução — quase sempre canvas ou áudio. A randomização derrota o rastreamento entre sites, que é o seu propósito, mas também faz o navegador parecer um que randomiza, o que sites rigorosos tratam como sinal próprio.

Consistência. Leia os valores uns contra os outros e contra a conexão. A plataforma nos client hints deve bater com o sistema operacional do user agent. O renderizador WebGL deve ser uma GPU que existe nessa plataforma; uma GPU móvel em um user agent de desktop, ou um renderizador por software em uma máquina que alega uma placa de jogos, é uma divergência. Os pontos de toque devem combinar com o tipo de dispositivo. Fuso horário e idiomas devem combinar com o país do IP, o que a pontuação de anonimato verifica por você com pontos. A lista de fontes deve parecer com o sistema declarado: fontes do Windows em um user agent Windows, fontes da Apple no macOS.

Raridade. Não mostramos uma porcentagem de unicidade, porque teríamos de inventá-la. Em vez disso, leia as notas ao lado de cada linha. Um tamanho de tela comum a muitos notebooks, uma versão atual de navegador e uma GPU popular passam despercebidos. Uma resolução rara, uma versão antiga, um conjunto incomum de fontes ou uma string de renderizador fora do padrão são os valores que fazem uma impressão digital se destacar.

Para quem verifica uma configuração antes de um login, a leitura prática é: o hash deve ser estável, os valores devem concordar entre si e com o IP, e nada deve ser raro sem motivo. Ser inidentificável não é possível em um navegador normal; ser comum e consistente é.

Como corrigir

Se quer menos rastreamento entre sites no dia a dia:

  1. Use um navegador que limite a impressão digital por padrão. O Firefox com privacy.resistFingerprinting (em about:config) padroniza muitos valores; o Brave randomiza canvas, WebGL e áudio por site. Espere o hash mudar entre execuções quando a randomização estiver ativa.
  2. Mantenha poucas extensões. Cada uma acrescenta um traço detectável, e extensões de falsificação costumam produzir combinações impossíveis, mais fáceis de flagrar do que os valores que escondem.
  3. Mantenha o navegador atualizado; uma versão atual é compartilhada por muita gente, uma antiga é rara.
  4. Evite redimensionar a janela para tamanhos incomuns e instalar fontes personalizadas.

Se verifica uma configuração de proxy ou VPN antes de entrar em uma conta:

  1. Faça o fuso horário coincidir com o país do IP: no Windows, Hora e idioma → Data e hora; no macOS, Geral → Data e Hora; no Android e iOS, as configurações de data e hora; em um navegador anti-detect, o fuso do perfil, de preferência derivado do proxy.
  2. Coloque o idioma do país do IP em primeiro na lista do navegador, ou deixe o inglês, que a pontuação sempre aceita.
  3. Desligue a randomização de canvas ou áudio nesse perfil, para que o hash fique estável entre recarregamentos.
  4. Não falsifique o user agent com extensão. Client hints, WebGL e fontes vão contradizê-lo, e a contradição é pior do que um user agent honesto.
  5. Recarregue esta página no mesmo perfil e confira que o hash não mudou.

Se usa um navegador anti-detect:

  1. Prefira perfis construídos a partir de dados de dispositivos reais em vez de valores editados à mão. Renderizador, plataforma, fontes e tela devem vir de um único dispositivo coerente.
  2. Faça o sistema operacional do perfil coincidir com o user agent e os client hints que ele envia, e o fuso e o idioma com o país do proxy.
  3. Configure o WebRTC para substituir o endereço público pelo do proxy em vez de desativá-lo; veja o teste de vazamento WebRTC.
  4. Rode esta página dentro do perfil duas vezes. O hash deve ser idêntico, e cada linha deve mostrar valores plausíveis para o dispositivo declarado.

Se você desenvolve para a web, a tabela passiva mostra quais cabeçalhos o navegador envia em toda requisição, e a página de cabeçalhos HTTP mostra o conjunto completo, incluindo cookies e referer.

Limitações deste teste

  • Sem medição de unicidade. Não mantemos uma população de impressões digitais e não imprimiremos uma porcentagem inventada.
  • O hash é nosso. Todo script de fingerprinting combina sinais diferentes em ordem diferente, então o seu hash aqui não será igual ao de nenhum outro lugar. Compare hashes só dentro desta página: entre execuções, perfis e dispositivos.
  • Sinais que não coletamos: características de TLS e TCP, configurações de HTTP/2, listas de dispositivos de mídia, APIs de bateria e sensores e sinais comportamentais como ritmo de digitação.
  • Extensões podem esconder ou distorcer valores. O teste mostra o valor falsificado e nem sempre sabe que é falso, embora contradições entre linhas costumem revelá-lo.
  • As notas de raridade são regras gerais, não estatísticas.
  • A impressão digital é um identificador entre vários. Cookies, contas logadas e identificadores de dispositivo identificam você independentemente dela.

Por que consistência importa mais que unicidade para um login

Rastreamento e detecção de fraude usam impressões digitais de formas diferentes. Um rastreador quer um valor estável para reconhecer você entre sites; contra isso, randomização e padronização funcionam. Um sistema de login quer saber se esta sessão é a mesma pessoa da última vez e se a história que o navegador conta é plausível; contra isso, a randomização prejudica, porque a impressão digital muda a cada visita e nunca bate com o histórico da conta, e a falsificação prejudica, porque produz combinações que nenhum dispositivo real tem. As verificações dos sites rigorosos são cruzadas: user agent contra client hints, plataforma contra GPU, fontes contra sistema operacional, fuso e idioma contra IP. Um notebook comum com seus valores reais, relógio no fuso do proxy e hash estável passa; um navegador elaboradamente falsificado costuma falhar.

O que cada sinal revela

Canvas e WebGL identificam principalmente hardware: placa gráfica, driver e pilha de renderização de fontes. São estáveis por anos na mesma máquina.

Áudio identifica o processamento de áudio da plataforma; varia menos que o canvas, mas acrescenta alguns bits.

Fontes identificam o sistema operacional e o que foi instalado nele.

Tela identifica a classe do dispositivo e às vezes o modelo; proporção de pixels mais resolução reduz um celular a poucos modelos.

Fuso horário e idiomas identificam onde e em que língua o dispositivo é usado. São os dois sinais mais frequentemente incoerentes com um proxy, e os dois mais fáceis de corrigir.

Client hints carregam o detalhe que os navegadores Chromium removeram do user agent: versão exata, plataforma e sua versão, arquitetura da CPU e, no celular, o modelo.

Plugins e toque identificam família de navegador e tipo de dispositivo, e servem sobretudo como verificações cruzadas.

Client hints estão substituindo a string de user agent

Navegadores baseados em Chromium enviam hoje um user agent reduzido, que congela a versão do sistema e a maioria dos detalhes, e expõem o detalhe por cabeçalhos de client hints, alguns por padrão e outros só quando o site pede. Para fingerprinting, pouco muda: a mesma informação está disponível, em outro lugar. Para verificações de consistência, importa, porque um user agent editado por extensão normalmente deixa os client hints intactos, e os dois passam a discordar. A página de user agent decompõe a sua string e lista os hints ao lado.

Verificando se dois perfis parecem dois dispositivos

Quem mantém várias contas em uma máquina, cada uma em seu perfil, tem uma pergunta específica que esta página responde: os perfis parecem dispositivos diferentes ou um só dispositivo com cookies diferentes? Abra esta página em cada perfil e compare. O hash combinado deve diferir, e as diferenças devem vir de valores que realmente variam entre máquinas: canvas, renderizador WebGL, tela e fontes. Se dois perfis compartilham os mesmos hashes de canvas e WebGL e diferem só em user agent e fuso horário, um site que lê o canvas vê uma única máquina. Dentro de cada perfil, o hash deve ser idêntico em toda execução e em todo dia; um perfil cujo hash deriva entre visitas parece um dispositivo novo a cada vez. Corrija desligando a randomização nesse perfil e não mudando versão do navegador, escala de exibição ou conjunto de fontes entre sessões. Depois confirme o lado da conexão: o proxy de cada perfil deve passar no verificador de IP, e as linhas de fuso e idioma na pontuação de anonimato.

Navegação privada ou limpar cookies ajuda?

Não contra fingerprinting. Janelas privadas e limpeza de cookies removem identificadores armazenados, e uma impressão digital não é armazenada: é recalculada do mesmo hardware e configurações a cada visita. As defesas práticas são as acima: um navegador que padroniza ou randomiza valores, menos extensões e, para logins, um perfil consistente que não muda entre visitas. O verbete impressão digital do navegador aprofunda como as impressões digitais são construídas e usadas.

Perguntas frequentes

O que é a impressão digital do navegador?

Um conjunto de valores que um site consegue ler do seu navegador e dispositivo, como a renderização de canvas, o nome da placa gráfica, as fontes instaladas, o tamanho da tela, o fuso horário e os idiomas. Combinados, eles identificam uma configuração de navegador sem envolver cookie.

Minha impressão digital é única?

Não conseguimos dizer com honestidade, porque a unicidade depende de quantos outros navegadores compartilham exatamente os seus valores, e não mantemos uma base de visitantes para comparar. O que a página mostra é quais valores são incomuns e se a sua impressão digital permanece estável entre execuções.

Por que o hash muda quando executo o teste de novo?

Algo no navegador está randomizando um valor, geralmente canvas ou áudio, por uma configuração de privacidade ou uma extensão. Em um navegador normal o hash é idêntico a cada execução. Um hash que muda é, por si só, um sinal que os sites notam.

Um site consegue me identificar só pela impressão digital?

Ele consegue reconhecer a mesma configuração de navegador entre visitas e entre sites, o que basta para rastreamento e para vincular contas. Ele não descobre o seu nome pela impressão digital; ele a vincula ao que você fez enquanto era observado.

O modo anônimo ou privado muda a impressão digital?

Quase nada. O modo privado descarta cookies e histórico, mas canvas, WebGL, fontes, tela e fuso horário vêm do mesmo hardware e das mesmas configurações, então a impressão digital é a mesma. Só outro navegador, perfil ou dispositivo a muda.

Por que o servidor vê parte da minha impressão digital antes de qualquer script rodar?

A própria requisição carrega o user agent, os client hints, os idiomas e codificações aceitos e uma dúzia de outros cabeçalhos. Fazemos o hash deles separadamente como impressão digital passiva, que é o que um site consegue registrar de um simples carregamento de página.

O que importa mais para um login, uma impressão digital única ou uma consistente?

Consistente. Sites rigorosos comparam a impressão digital com o IP e com ela mesma: um fuso horário que diverge do IP, uma placa gráfica que não existe na plataforma declarada ou um hash que muda a cada recarregamento chamam mais atenção do que uma configuração comum.

Esta página armazena minha impressão digital?

Não. Os valores são calculados no seu navegador e mostrados a você. Na página da pontuação de anonimato, o fuso horário, os idiomas e alguns sinalizadores de dispositivo são enviados para comparação com o seu IP, e nada é guardado como registro do seu navegador.

Qual é a diferença em relação ao teste de impressão digital de canvas?

A página de canvas mostra um único sinal em detalhe, com a imagem renderizada e o seu hash. Esta página roda 10 sinais mais os cabeçalhos visíveis ao servidor e os combina em uma única impressão digital.