← Voltar ao blog

O que é o fingerprint de ClientRects? Guia de verificação de consistência de ambiente multi-contas

Conclusão principal: o ClientRects medido nas páginas de teste são as caixas de layout dos elementos da página, um conjunto de larguras, alturas e coordenadas com casas decimais. Quando as leituras de dois ambientes não batem, a causa geralmente está na renderização de fontes, no zoom de tela ou em diferenças de sistema. Isso faz parte da consistência de ambiente, não pode ser desativado isoladamente, e o tratamento é a escolha de modo nas configurações de fingerprint mais testes reais.

"Na verificação de consistência cheguei à camada de fingerprint, e as leituras de ClientRects dos dois ambientes são diferentes." Ou o contrário: a página de teste marcou esse item em amarelo e você não sabe se é um problema. O ponto comum dessas dúvidas é que o nome do parâmetro já foi visto, mas o que ele mede e o que muda ao alterá-lo permanecem uma incógnita.

Este artigo responde a quatro coisas na ordem de investigação. O que é essa leitura, por que dois ambientes divergem, o que ela indica na consistência de ambiente e como configurar e verificar no navegador anti-detect MostMate. O MostMate prepara um conjunto de ambientes de navegador isolados entre si para cada conta, e o ClientRects é um item das configurações de fingerprint.

O que é, de fato, o fingerprint de ClientRects

Em uma frase: o fingerprint de ClientRects lê as coordenadas exatas das caixas dos elementos da página. Chamar getBoundingClientRect() retorna a largura, a altura e a posição relativa ao viewport do elemento; segundo a documentação do MDN, o método "retorna o tamanho do elemento e sua posição relativa ao viewport"; elementos inline que quebram de linha são lidos com getClientRects(), um retângulo por linha.

O essencial está na forma dos números. As coordenadas não são inteiros. São pontos flutuantes com várias casas decimais, como 147.359375. O site não precisa de nenhuma permissão: um script cria um elemento oculto na página, insere um texto fixo, lê o retângulo de volta e monta uma assinatura, tudo misturado aos cálculos normais de layout.

Há três razões para operadores se importarem. Não dá para desativar, porque o cálculo de layout é a base do funcionamento normal das páginas; é estável entre sessões, e as leituras de um mesmo dispositivo praticamente não mudam; e, assim como fontes e parâmetros de tela, faz parte da declaração de ambiente, que os sistemas de risco usam para verificações cruzadas.

Caixas de layout de elementos da página lidas pelo ClientRects, com valores decimais

Por que as leituras dos dois ambientes não batem

A largura do texto depende de toda a pipeline entre texto e pixel:

  • Motor de tipografia: Windows, macOS e Linux têm cada um o seu; a mesma fonte e a mesma sequência de caracteres produzem espaçamentos diferentes.
  • Zoom de tela: telas de alta densidade e o zoom do sistema mudam a granularidade de arredondamento, e as casas decimais variam junto.
  • Fallback de fontes: se a fonte pedida pela página não está instalada, entra a fonte reserva e a largura muda.
  • Motor do navegador e zoom da página: núcleos diferentes quebram linhas de forma diferente, e o zoom da página entra direto na pipeline de layout.

Essas diferenças são pequenas; um número isolado não prova nada. Combinadas, descrevem "que sistema e qual stack de renderização este dispositivo roda". É parente próximo do fingerprint de fontes: a enumeração de fontes consulta a lista diretamente, o ClientRects mede o resultado renderizado, e os dois se confirmam mutuamente. Os parâmetros de tamanho no nível de dispositivo e de janela foram tratados no artigo sobre resolução de tela e tamanho de janela; o ClientRects é um sinal mais profundo, no nível de elemento.

Que papel essa leitura desempenha na consistência de ambiente

O maior valor está na verificação cruzada: encontrar uma referência medida que confirme a declaração do ambiente. O ambiente se declara Windows e exibe um conjunto de fontes comuns, mas a largura do texto medida tem o estilo de arredondamento de outro sistema. Os dois sinais entram em conflito. O sistema de risco não precisa entender o princípio; basta detectar a contradição.

A consistência da configuração merece mais verificação do que a raridade de um parâmetro isolado. Ao investigar se dois ambientes serão julgados como a mesma pessoa, as leituras dos retângulos devem ser confrontadas com o sistema operacional e a lista de fontes declarados no painel de fingerprint; a lógica da autoverificação em quatro dimensões é alinhar declaração e medição.

Há ainda um uso frequentemente ignorado: a detecção de zoom. A forma de arredondamento dos retângulos permite inferir o nível de zoom atual da página e a configuração de zoom do sistema, informações que formam outro conjunto de sinais cruzáveis com os parâmetros de tela declarados pelo dispositivo. Quando o comportamento de zoom difere muito entre ambientes, a diferença nas leituras é normal; confirme o estado do zoom antes de concluir.

Como configurar no MostMate

No formulário de configurações de fingerprint do MostMate, o ClientRects ocupa um item próprio, ao lado de Canvas, AudioContext, SpeechVoices e WebGL image. São apenas dois modos: o modo Real devolve a tipografia real da máquina; o modo Noise é o modo de ruído.

Escolha o modo conforme o cenário. Dois critérios permitem escolher Real: a configuração deste computador corresponde ao perfil predominante do público-alvo, por exemplo a combinação comum de Windows com fontes padrão; e a página do negócio exige alta precisão tipográfica, sem permitir alterações nos valores de layout. O custo do modo Real é expor integralmente as características reais de renderização da máquina; se o computador tiver muitas fontes raras, o reconhecimento das características aumenta.

Vários ambientes compartilhando o mesmo computador: escolha Noise. As leituras dos ambientes deixam de apontar para a mesma máquina, e esse é o principal caso de uso. O custo é aceitar uma restrição. Existe uma relação aritmética entre os valores dos retângulos. As coordenadas da caixa externa precisam corresponder aos retângulos do texto interno, e larguras da mesma sequência de caracteres precisam ser proporcionais. Se o ruído incidir apenas sobre parte das leituras, essas relações se rompem e o resultado é um sinal de contradição ainda mais visível. Por isso, depois de escolher o modo, é obrigatório testar na prática em vez de presumir que a configuração já está boa.

Depois de mudar para o modo Noise, o item ClientRects no painel de pré-visualização de fingerprint passa a mostrar um valor com um código de seis dígitos. O código é apenas o identificador da configuração de ruído; o hash realmente exposto só aparece ao abrir o ambiente e rodar uma página de teste.

Posição do parâmetro ClientRects nas configurações de fingerprint do MostMate

Como verificar depois de configurar

Verificar leva dois passos: os valores mudam e depois ficam coerentes.

Passo 1: comparar as leituras dos dois ambientes. Crie dois ambientes, um em Real e outro em Noise, e abra em cada um a página de teste de Client Rects do BrowserLeaks. Na mesma máquina, os valores de retângulo do ambiente Real devem ser consistentes. O ambiente Noise deve diferir do Real, e dois ambientes Noise também devem se diferenciar entre si. Ao registrar, observe principalmente a partir da terceira casa decimal, onde as diferenças costumam começar. Anote as leituras de cada ambiente como a linha de base dele.

Passo 2: conferir a coerência. Mudar os números é só o começo:

  • Teste de novo em outra sessão: os valores do mesmo ambiente devem ser estáveis, e leituras que saltam já são, por si, uma anomalia.
  • Compare com o sistema operacional e a lista de fontes declarados no painel de fingerprint: o estilo de renderização precisa corresponder; não pode um sinal dizer Windows e outro dizer macOS.
  • Navegue normalmente por algumas páginas de uso frequente e confirme que a tipografia não apresenta quebras visíveis, sobretudo em formulários, botões e texto com quebra de linha.

Passou nos três? O parâmetro está pronto. Falhou? Volte e revise o modo.

Perguntas frequentes

A página de teste marcou o ClientRects em vermelho. O ambiente tem problema com certeza?

Não necessariamente. Veja primeiro duas coisas: se o sistema e as fontes declarados pelo ambiente correspondem ao estilo das leituras, e se o estado de zoom bate com os parâmetros de tela. Com os dois pontos normais, um item isolado em vermelho não é motivo para alarme; só quando o estilo das leituras conflita claramente com a declaração é preciso entrar nas configurações de fingerprint e conferir o modo.

Mudar o zoom do navegador altera o fingerprint de ClientRects?

Alterar sim. O zoom entra direto na pipeline de layout, e o arredondamento dos retângulos muda junto. Mas o zoom é um comportamento normal de todos os usuários. O risco está em outro lugar: o estado de zoom não bate com os parâmetros de tela declarados pelo ambiente. A parte estável entre sessões continua determinada pelo stack de renderização.

O ClientRects pode ser desativado?

Não. O cálculo de layout é a base do funcionamento normal das páginas; tipografia, posicionamento de pop-ups e animações dependem dele. O navegador não oferece um interruptor para desligar. A prática do setor é reduzir a precisão em vez de desativar: o Tor Browser arredonda os valores medidos para diminuir as diferenças identificáveis.

Por que navegadores headless se entregam com facilidade no tamanho dos elementos?

O viewport padrão de um ambiente headless é muito fixo e o stack de renderização de texto é único. Os retângulos medidos frequentemente não batem com o dispositivo que o UA declarado afirma ser. Os sistemas de risco fazem verificação cruzada dos rects com os demais parâmetros declarados, e ambientes assim são facilmente destacados.

Conclusão

O papel do ClientRects na verificação de consistência é bem específico: colocar a declaração do ambiente e a tipografia medida lado a lado, e a contradição é o sinal. Diante de um item vermelho na página de teste, confronte primeiro os parâmetros declarados e o estado de zoom, confirme que é uma lacuna de consistência e só então entre nas configurações de fingerprint para tratar.

O MostMate reúne o ClientRects junto com os demais parâmetros de renderização em um mesmo formulário de configurações de fingerprint, com os modos Real e Noise controlando a origem das leituras. O panorama completo das funções do produto pode ser visto no site oficial do MostMate. Depois de criar os ambientes, registrar a linha de base das leituras com a comparação entre dois ambientes rende mais do que qualquer truque de configuração. Você também pode baixar o MostMate e medir pessoalmente, com dois ambientes, as diferenças entre Real e Noise.

MOSTMATE

Gestão segura de múltiplas contas, sem complicação

Comece com sua primeira conta e use MostMate para construir operações multicontas mais seguras, inteligentes e eficientes.

  • Perfis independentes. Identidades consistentes.
  • Automação com IA · Saúde das contas · Operações em equipe
Baixar MostMate