È possibile ingannare il test "il nostro browser è obsoleto"

Ho notato che l’ultimo controllo su meta.discourse.org o discover.discourse.com per evitare la visualizzazione delle pagine in modalità moderna su, ad esempio, Firefox 115.27.0 può essere aggirato da uBlock Origin, AdGuard o anche AdBlock/Adblock Plus:

! È sufficiente uno dei quattro:
meta.discourse.org##+js(aopw, unsupportedBrowser)
! Meno stabile:
meta.discourse.org##+js(set, unsupportedBrowser, undefined)
meta.discourse.org##+js(set, unsupportedBrowser, false)
meta.discourse.org##+js(set, unsupportedBrowser, '')
! Una volta ogni dozzina di visualizzazioni, la modalità race può verificarsi quando si utilizza la versione set-constant, causando il fallimento del content blocker quando facciamo affidamento su di esso, e l'anteprima corretta verrà abilitata in HTML semplificato.
  • aopw = abort-on-property-write[1]
  • set = set-constant[2] (override-property-read per AdBlock e ABP)

Forse dovrebbe utilizzare un metodo più sicuro? Uno svantaggio ora visibile è che le note a piè di pagina inserite nelle risposte o nei post introduttivi non funzionano assolutamente con questo trucco (forse utilizza CSS (diverso dal problema noto con la sintassi dei colori relativi) o JS troppo nuovo).


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

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

Mi scusi, può spiegare un po’ di più?

Sta dicendo che qualsiasi installazione predefinita di uBlock Origin su un browser vecchio aggira il nostro controllo?

1 Mi Piace

Aggiungerò STR:

  1. Installa uBlock Origin dallo store ufficiale in Firefox 115.27.0, poiché non ci sono nuove funzionalità importanti nell’API Manifest V2 per i componenti aggiuntivi di Firefox che spingerebbero le persone a rimanere su una versione obsoleta di uBO (in altri blocchi di contenuti ad ampio spettro, i passaggi sono simili (la scheda per i tuoi filtri potrebbe avere un nome diverso)).

  2. Vai alle sue impostazioni e alla scheda “I miei filtri”.

  3. Incolla uno dei 4 suggerimenti (la semplicità di tutti e 4 i filtri fa sì che non abbia senso proteggere la paternità, poiché qualcuno li ha ideati almeno un giorno prima di me).

    • Presumo che non esista ancora una lista “iscriviti e dimentica”, o uno script per Tampermonkey/Violentmonkey/Greasymonkey che faccia la stessa cosa in modalità “installa e dimentica” (e la community o un volontario si occuperà degli aggiornamenti costanti della lista o dello script).
  4. Apri o aggiorna il forum e la pagina verrà caricata in un aspetto “moderno” piuttosto che in HTML semplificato (se la race condition non si verifica quando si seleziona la versione basata su set-constant).

    • Come ho scritto, l’unico malfunzionamento visibile è che le note a piè di pagina non funzionano correttamente (non so abbastanza di debug di siti web per determinare cosa ci manca, poiché questo non è l’unico test fallito di “Relative Color Syntax” (la bolla è quasi zero in dimensioni e non solo testo invisibile, se fosse colorata relativamente)).
    • Non ho testato se il meccanismo di accesso abbia misure di sicurezza aggiuntive per prevenire errori di accesso o se l’account sia contrassegnato come da sbloccare dall’amministratore del forum.
      • Non ho verificato se il trasferimento dei cookie/localStorage/sessionStorage necessari consenta di aggirare le misure di sicurezza di accesso aggiuntive quando il forum non dispone di test di fingerprinting univoci del browser per impedire agli utenti di accedere, o se anche le funzionalità per gli utenti connessi siano interrotte.

Forse è sufficiente racchiudere la “variabile globale” in una “funzione anonima” invisibile agli scriptlet/spinet di blocchi di contenuti ad ampio spettro, quando l’idea del suo nome dinamico, ad esempio cambiato ogni 24 ore a livello CDN, è troppo costosa per l’infrastruttura.

Altri forum che hanno implementato una semplice visualizzazione HTML del sistema invece di un periodo di transizione più lungo con una barra di avviso meno aggressiva sotto la navigazione dell’intestazione possono essere forum.fxsound.com, dove apow/set-constant funziona anche per ora.