Consenti "blocchi oggetti" da un sito specifico


8

Voglio consentire "oggetti bloccati", inclusi i caratteri, per alcuni siti con il plug-in NoScript FireFox.

Capisco perché NoScript blocca i caratteri , ma per alcuni siti Web attendibili voglio comunque consentirli.

Ho letto come consentire gli script da un solo dominio e come abilitare alcuni script particolari oltre al manuale ABE . Ma non riesco a farlo funzionare. Ecco alcune regole ABE che ho provato per Toggl:

Site .gstatic.com .bootstrapcdn.com
Accept from .toggl.com

Site fonts.gstatic.com maxcdn.bootstrapcdn.com
Accept INCLUSION(SCRIPT, OBJ, CSS) from .toggl.com

Site fonts.gstatic.com maxcdn.bootstrapcdn.com
Accept from .toggl.com

Nessuno di questi set di regole consentirà tuttavia l'inclusione dei caratteri per Toggl. Vedi dove sbaglio?

(NoScript 2.6.9.6rc3 su FireFox 34.0.5)

Risposte:


5

il sito noscript afferma:

Ad esempio, impostando il noscript.allowedMimeRegExpvalore della preferenza su

  • FRAME@https?://somesite\.com
  • FONT@https?://some-other-site\.com
  • WebGL@https://www\.khronos\.org

consentirà permanentemente qualsiasi caricamento di FRAME / IFRAME da somesite.com, font web da some-other-site.com e contenuti 3D WebGL da https://www.khronos.org.

Non credo che l'ABE possa farlo. Un modo bizzarro per abilitare il carattere solo per un determinato sito / dominio è utilizzare Vimperator / Pentadactyl e modificare automaticamente l'impostazione MimeRegExp su un evento LocationChange. Per ripristinare l'impostazione quando si lascia la pagina, è possibile utilizzare questa semplice funzione (ottenuta da Anekos ) in .vimperatorrc che utilizza un'espressione con un aspetto negativo:

js <<EOM
function add_AutoCommand(URI, onEnter, onLeave) {
    let entered = false;
    autocommands.add('LocationChange', '(?!' + URI + ')', function () {
      if (entered) {
        entered = false;
        onLeave();
      }
    });
    autocommands.add('LocationChange', URI, function () {
        onEnter();
        entered = true;
    });
}
add_AutoCommand(https?://allow-font-on-this-site\.com, 
    :set! noscript.allowedMimeRegExp="FONT@https?://some-other-site\.com", 
    :set! noscript.allowedMimeRegExp=" "
);
EOM

Non l'ho provato ma lo farò.

EDIT : dovrebbe essere

add_AutoCommand('https?:\/\/allow-font-on-this-site\\.com.*', 
    function(){options.setPref("noscript.allowedMimeRegExp",
        "FONT@http://fonts.gstatic.com")}, 
    function(){options.setPref("noscript.allowedMimeRegExp", 
        "")}
);

... ma noscript non risponde alla preferenza a meno che la pagina non venga ricaricata, quindi ricaricare o utilizzare manualmente tabs.reload(config.browser.mCurrentTab, false);

Sembra che dovresti impostare un valore booleano e un timeout per impedire a LocationChange di eseguire nuovamente (in modo continuo) il ricaricamento. Forse un altro autocmd sull'evento PageLoadPre potrebbe essere usato per il valore booleano. Lo sto diventando abbastanza brutto, lo so. Scusate.

ps. un'applicazione più utile della semplice commutazione pref basata su URL sta ovviamente cambiando la directory di download.

EDIT (2017): con uBlock Origin puoi scegliere come target specifici tipi di oggetti, file o comportamenti html.

Sia le regole dinamiche che quelle statiche specificano che le origini sono consentite per un dominio / url. Lo sto usando da alcuni anni. Tipi comprendono carattere così come inline-script , fogli di stile , immagine , oggetto , sceneggiatura , XMLHttpRequest , sub_frame , dei media , websocket , popunder e pop-up .

regole di esempio:

* * 3p block
no-remote-fonts: * true
no-remote-fonts: allow-font-on-this-site.com false
allow-font-on-this-site.com font-cdn.org noop

che significa:

  1. bloccare la richiesta di terze parti da qualsiasi pagina in qualsiasi luogo
  2. bloccare i caratteri di terze parti su qualsiasi pagina da qualsiasi luogo
  3. riattivare i caratteri di terze parti su una pagina del dominio allow-font-on-this-site.com da qualsiasi luogo
  4. facoltativamente riattivare la richiesta sulla nostra pagina alle origini sul dominio font-cdn.org

Con noop ("nessuna operazione") applichiamo ancora il filtro delle regole statiche (comunemente definito nelle regole distribuite note come elenchi di blocco degli annunci o malvertising).


1
Grazie per la tua risposta esauriente e per il tempo che ci hai dedicato.
Jura,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.