O teste "nosso navegador está desatualizado" pode ser enganado

Notei que a última verificação em meta.discourse.org ou discover.discourse.com para evitar a visualização de páginas no modo moderno em, por exemplo, Firefox 115.27.0 pode ser contornada por uBlock Origin, AdGuard ou até mesmo AdBlock/Adblock Plus:

! Um dos quatro é suficiente:
meta.discourse.org##+js(aopw, unsupportedBrowser)
! Menos estável:
meta.discourse.org##+js(set, unsupportedBrowser, undefined)
meta.discourse.org##+js(set, unsupportedBrowser, false)
meta.discourse.org##+js(set, unsupportedBrowser, '')
! Uma vez a cada poucas dezenas de visualizações, o modo de corrida pode ocorrer ao usar a versão set-constant, fazendo com que o bloqueador de conteúdo falhe quando dependemos dele, e a pré-visualização correta será habilitada em HTML simplificado.
  • aopw = abort-on-property-write[1]
  • set = set-constant[2] (override-property-read para AdBlock e ABP)

Talvez devesse usar um método mais seguro? Uma desvantagem agora visível é que as notas de rodapé inseridas em respostas ou posts introdutórios definitivamente não funcionam com este truque (Talvez esteja usando CSS (além do problema conhecido com a Sintaxe de Cores Relativas) ou JS que é muito novo).


  1. Resources Library · gorhill/uBlock Wiki · GitHub #abort-on-property-writejs- ↩︎

  2. Resources Library · gorhill/uBlock Wiki · GitHub #set-constantjs- ↩︎

Desculpe, você pode expandir um pouco.

Você está dizendo que qualquer instalação padrão do uBlock Origin em um navegador antigo ignora nossa verificação?

1 curtida

Adicionarei os STR:

  1. Instale o uBlock Origin da loja oficial no Firefox 115.27.0, pois não há novos recursos importantes na API Manifest V2 para complementos do Firefox que fariam as pessoas permanecerem em uma versão desatualizada do uBO (em outros bloqueadores de conteúdo amplo, os passos são semelhantes (a aba para seus próprios filtros pode ter um nome diferente)).

  2. Vá para as configurações e para a aba “Meus Filtros”.

  3. Cole uma das 4 sugestões (a simplicidade de todos os 4 filtros significa que não há sentido em proteger a autoria, pois alguém os criou pelo menos um dia antes de mim).

    • Presumo que ainda não exista uma lista de “inscrever e esquecer” ou um script para Tampermonkey/Violentmonkey/Greasymonkey que faça o mesmo no modo “instalar e esquecer” (e a comunidade ou um voluntário cuidará das atualizações constantes da lista ou script).
  4. Abra ou atualize o fórum e a página será carregada em um visual “moderno” em vez de HTML simplificado (se a condição de corrida não ocorrer ao selecionar a versão baseada em set-constant).

    • Como escrevi, o único mau funcionamento visível é que as notas de rodapé não estão funcionando corretamente (não sei o suficiente sobre depuração de sites para determinar o que estamos perdendo, pois este não é o único teste de “Relative Color Syntax” que falhou (a bolha tem quase zero de tamanho e não apenas texto invisível, se fosse colorido relativamente)).
    • Não testei se o mecanismo de login possui medidas de segurança adicionais para evitar falha no login ou se a conta é marcada como precisando ser desbloqueada pelo administrador do fórum.
      • Não verifiquei se a transferência dos cookies/localStorage/sessionStorage necessários permite contornar medidas de segurança de login adicionais quando o fórum não possui testes de impressão digital de exclusividade do navegador para impedir que os usuários façam login, ou se algum recurso para usuários logados também está quebrado.

Talvez seja suficiente encapsular a “variável global” em uma “função anônima” invisível para scriptlets/spinnets de bloqueadores de conteúdo de amplo espectro, quando a ideia de seu nome dinâmico, por exemplo, alterado a cada 24 horas no nível do CDN, é muito cara para a infraestrutura.

Outros fóruns que implementaram uma visualização HTML simples em vez de um período de transição mais longo com uma barra de aviso menos agressiva sob a navegação do cabeçalho podem ser forum.fxsound.com, onde apow/set-constant também funciona por enquanto.