Jak blokovat a mazat cookie nastavené JavaScriptem

imrich kann

Jak blokovat a mazat cookie nastavené JavaScriptem
« kdy: 22. 01. 2019, 12:51:57 »
Hledám způsob (userscriptem například), jak v prohlížeči blokovat cookie, které jsou nastavované skrze javascript. Tzn aby se cookies s vybraným jménem NEodesílaly na server. A potřebuji to jako generické pravidlo, (aby to hned fungovalo na libovolné stránce).
« Poslední změna: 22. 01. 2019, 14:31:29 od Petr Krčmář »


gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:jak blokovat+mazat cookie nastavené javascriptem
« Odpověď #1 kdy: 22. 01. 2019, 13:46:07 »
definujete setter nad document.cookie.

imach kann

Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #2 kdy: 22. 01. 2019, 15:19:02 »
Jenže ono to nefunguje... Buď je tam potřeba dát nějaké práva (unsafewindows a podobná magie), nebo změnit @run-at. nebo . Nerozumím tomu pořáadně. Kromě toho document.cookie je vůbec divný, protože když nastavím, že document.cookie="a=b"; tak se
Kód: [Vybrat]
// ==UserScript==
// @name        cookier
// @namespace   Tučňák Tuňák
// @include     https://www.maminka.cz/*
// @include     https://www.expres.cz/*
// @include     https://www.idnes.cz/*
// @include     https://www.aktualne.cz/*
// @include     https://www.reflex.cz/*
// @include     https://www.respekt.cz/*
// @include     https://*.zive.cz/*
// @version     3.14
// @grant       none
// ==/UserScript==


console.log("--- cookie manager ");

Object.defineProperty(document, 'cookie', {
        get: function(y){
          console.log("--- cookie ## get " + document.cookie);
          return ''},
        set: function(y{
          console.log("--- cookie ## set "+y+ document.cookie);
          return true},
}
)

Zkoušeno  it

document.cookie="";
document.cookie="adb";
document.cookie="adb=";
document.cookie="";

Je v tom bordel (ty poslední řádky) - když si pak vypíšu document.cookie, někdy tam vidím, že název cookie tam je nastaven, někdy je vynulován (nazev=) někdy je tam původní i novyý (nazev=puvodni ; dalsi=bla; nazev=...)


Očividně se cookei na stránky odesílají.


Dokonce ani nezabere ublock
  domena.cz##script:inject(cookie-remover.js, nazev) způsobí, že to funguje v 50% (téměř pravidelně: liché reloady/navigace bez problému, sudé s cookie+infikováno). Kromě toho pak výpis document.cookie dává falešnou informaci, že cookie takový neexistuje.  bavím se o cookies nastavovaných přes javascript furt.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #3 kdy: 22. 01. 2019, 15:27:10 »
Kód: [Vybrat]
// @grant        unsafeWindow
// @run-at       document-start

a

Kód: [Vybrat]
Object.defineProperty(unsafeWindow.document, 'cookie',  ....

by mělo fungovat.

iman kann

Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #4 kdy: 22. 01. 2019, 19:02:27 »
nefunguje mi to

Kód: [Vybrat]
// ==UserScript==
// @name        cookie
// @namespace   dickens
// @include     https://www.maminka.cz/*
// @include     https://www.expres.cz/*
// @include     https://www.idnes.cz/*
// @include     https://www.aktualne.cz/*
// @include     https://www.reflex.cz/*
// @include     https://www.respekt.cz/*
// @include     https://*.zive.cz/*
// @grant       unsafeWindow nebo nic
// @run-at      document-start nebo bez
// ==/UserScript==


el=document; // nebo unsafeWindow.document

console.log("--- cookie ## ");

el.cookie="adb=";
el.cookie="adb.key=";
Object.defineProperty(el, 'cookie', {
        get: function(y){
          console.log("--- cookie ## get " + el.cookie);
          return ''},
        set: function(y{
          console.log("--- cookie ## set "+y+ el.cookie);
          return true},
}
)
el.cookie="adb=";
el.cookie="adb.key=";
console.log("--- cookie ## ");

mimochodem co je odpoved ze serveru:
Kód: [Vybrat]
<h3>404 Not Found</h3>
neni adb_cook_24109591


Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #5 kdy: 22. 01. 2019, 19:30:02 »
Nejsem webař, ale ta kukina musí "patřit" nějaké doméně, ne?
Nebo fakt lze v javashitu na webu xxx.com poslat zpátky serveru kukinu z webu yyy.com. ?

Mi se na tohle blokování osvědčil uMatrix.
(v kombinaci s uBlockem, NoScriptem a Privacy Badgerem)

Ale jak jsem říkal, nejsem webař...

iiman kann

Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #6 kdy: 22. 01. 2019, 20:31:30 »
Nejsem webař, ale ta kukina musí "patřit" nějaké doméně, ne?
Nebo fakt lze v javashitu na webu xxx.com poslat zpátky serveru kukinu z webu yyy.com. ?

Mi se na tohle blokování osvědčil uMatrix.
(v kombinaci s uBlockem, NoScriptem a Privacy Badgerem)

Ale jak jsem říkal, nejsem webař...

iiman kann

Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #7 kdy: 23. 01. 2019, 12:47:04 »
???, nějak se nevložila část příspěvku s odpovědí.
Psal jsem, že jde o cookie, který je normálně patřící té doméně, ze které je navštíven web. A proč tedy píšeš o  cookies mezi doménami a že tohle vůbec neřeším.

A nechce se mi z nějakého důvodu používat umatrix, když už požívám ublock vyladěný . Oba doplňky se odlišují v různých okrajových funkcích a i systém blockace je trochu jiný (ublock nemá v podstatě  možnost  určovat typ obsahu a současně  původ). Mám pocit, že by to moc zatěžovalo CPU mít 2 firewally místo jednoho. Tak jsem chtěl něco lehkého - jednoduchý userscript, který se postará o promazání cookies nastavené javascriptem, ale asi to je nějaké vaRlaté.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #8 kdy: 23. 01. 2019, 13:10:34 »
nefunguje mi to

Kód: [Vybrat]
// ==UserScript==
// @name        cookie
// @namespace   dickens
// @include     https://www.maminka.cz/*
// @include     https://www.expres.cz/*
// @include     https://www.idnes.cz/*
// @include     https://www.aktualne.cz/*
// @include     https://www.reflex.cz/*
// @include     https://www.respekt.cz/*
// @include     https://*.zive.cz/*
// @grant       unsafeWindow nebo nic
// @run-at      document-start nebo bez
// ==/UserScript==


el=document; // nebo unsafeWindow.document

console.log("--- cookie ## ");

el.cookie="adb=";
el.cookie="adb.key=";
Object.defineProperty(el, 'cookie', {
        get: function(y){
          console.log("--- cookie ## get " + el.cookie);
          return ''},
        set: function(y{
          console.log("--- cookie ## set "+y+ el.cookie);
          return true},
}
)
el.cookie="adb=";
el.cookie="adb.key=";
console.log("--- cookie ## ");

mimochodem co je odpoved ze serveru:
Kód: [Vybrat]
<h3>404 Not Found</h3>
neni adb_cook_24109591

máš tam syntaktickou chybu. Mně to funguje, když nastavím prázdný setter, nejdou přidat javascriptové cookies.

Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #9 kdy: 23. 01. 2019, 18:41:00 »
???, nějak se nevložila část příspěvku s odpovědí.
Psal jsem, že jde o cookie, který je normálně patřící té doméně, ze které je navštíven web. A proč tedy píšeš o  cookies mezi doménami a že tohle vůbec neřeším.
...
Znáš význam tohoto znaku: '?' ?

Ale jinak samozřejmě promiň, že jsem se snažil k něčemu dobrat, moje chyba.
 ;)

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #10 kdy: 23. 01. 2019, 18:50:39 »
Nejsem webař, ale ta kukina musí "patřit" nějaké doméně, ne?
Nebo fakt lze v javashitu na webu xxx.com poslat zpátky serveru kukinu z webu yyy.com. ?

Mi se na tohle blokování osvědčil uMatrix.
(v kombinaci s uBlockem, NoScriptem a Privacy Badgerem)

Ale jak jsem říkal, nejsem webař...

javascriptové cookies jdou nastavovat jen vlastní doméně stránky.

Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #11 kdy: 23. 01. 2019, 20:00:46 »
Nejsem webař, ale ta kukina musí "patřit" nějaké doméně, ne?
Nebo fakt lze v javashitu na webu xxx.com poslat zpátky serveru kukinu z webu yyy.com. ?

Mi se na tohle blokování osvědčil uMatrix.
(v kombinaci s uBlockem, NoScriptem a Privacy Badgerem)

Ale jak jsem říkal, nejsem webař...

javascriptové cookies jdou nastavovat jen vlastní doméně stránky.
OK, dík za upřesnění.

(stejně si myslím, že to v tom uMatrixu jde úplně krásně)

imrichh kann

Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #12 kdy: 23. 01. 2019, 23:00:38 »
wow, konečně Terminátor funguje. Jen to není uplně uživatelsky přívětivé, protože když už ty cookies jsou nastavené , nejdou smazat, což znesnadnuje testování.

teď ještě kde zjistit seznam domén
Kód: [Vybrat]
https://img.cncenter.cz/static/data/blesk/cncenter/sas/js/cncsas.js?&#
/ seznam traffic
    var site = /Auto|Reflex|Zive|E15|Maminka|Mobilmania|Autorevue|Mojezdravi|Avmania|DIGIarena|FinExpert|Lifee/g;
    if(_SAS.seznam.is && site.test(_SAS.site)) _SAS.area = 'Seznam';       

/Ahaonline_Mobile|Auto_Mobile|AutoRevue_Mobile|Avmania_Mobile|Blesk_Mobile|Bleskprozeny_Mobile|DIGIarena_Mobile|Hokej_Mobile|iSport_Mobile|Lideazeme_Mobile|Maminka_Mobile|Mimibazar_cz_Mobile|MobilMania_Mobile|NHL_Mobile|Recepty_Mobile|Reflex_Mobile|SportRevue_Mobile|Supermamy_Mobile|Zeny_Mobile|Zive_Mobile/g;

http://www.zive.cz/Client.Scripts/webProtocol.js?
            "connect.zive.cz",
            "vtm.zive.cz",
            "doupe.zive.cz",
            "digiarena.e15.cz",
            "finexpert.e15.cz",
            "avmania.e15.cz",
            "jnp.zive.cz",
            "sportrevue.isport.blesk.cz",
            "f1sport.auto.cz",
            "www.autorevue.cz",
            "www.maminka.cz",
            "motogpsport.autorevue.cz",
            "www.zive.cz",
            "www.mobilmania.cz",
            "samsungmania.mobilmania.cz",
            "navigovat.mobilmania.cz",
            "www.zeny.cz",
            "www.mojezdravi.cz",
            "www.recepty.cz",
            "www.dama.cz",
            "www.info.cz"

 
V brzké době zasáhne.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Jak blokovat a mazat cookie nastavené JavaScriptem
« Odpověď #13 kdy: 24. 01. 2019, 07:39:20 »
protože když už ty cookies jsou nastavené , nejdou smazat

jde jim nastavit expires na minulé datum.