Předmět Autor Datum
Ahoj, zvláštne, že ten reťazec má 33 znakov. Predpokladal by som párny počet, keďže to vyzerá na hex…
moose 15.09.2017 20:01
moose
Todle to, co píšeš, nefunguje, tedy aspoň mně ve firefoxu.
kacikac 15.09.2017 20:46
kacikac
V hexa to není, protože se tam objevuje i další písmena (i velká - pokud jsem si to znovu ověřoval).…
IQ37 15.09.2017 20:46
IQ37
Asi si budete musieť pozrieť syntax tých filtrov. Ako regulárny výraz mi to funguje, testoval som to…
moose 15.09.2017 20:51
moose
Tak já jsem předpokládal, že do těch filtrů by ty reg výrazy měly pasovat, protože následující fungu…
IQ37 15.09.2017 21:52
IQ37
Na takové divy já používám absolutní cestu s pořadím toho divu. Třeba takto: *****.cz##HTML > BODY >…
kacikac 15.09.2017 20:48
kacikac
Takové filtry někdy dělá i uBlock, ale v tomto případě jsou ty filtry identické s AdBlockem. Vytvoři…
IQ37 15.09.2017 20:54
IQ37
Tak pokud jen na ten server chodíš číst, tak používej Chrome a zakaž pro ten server javaskript a coo…
kacikac 15.09.2017 21:05
kacikac
Konkrétně ten div je mezera na vrchu stránky, kterou se snažím odstranit. Javascript i cookies se da…
IQ37 15.09.2017 21:11
IQ37
Todle to ti veme všechny divy relativně, například všechny první divy ve všech prvcích co jsou na st…
kacikac 15.09.2017 22:23
kacikac
V první řadě: Je tento div danou class ve zdrojáku (hlavním html dokumentu)? Pokud ne, je nějak dyna…
ublock-expressoins 15.09.2017 23:00
ublock-expressoins
To ti pěkně děkuju, ale už výše jsem psal, že je to mimo moji ligu. https://pc.poradna.net/questions…
IQ37 15.09.2017 23:56
IQ37
Takže pro oživení: zpravy.aktualne.cz###H1896214f14c069869f8572166e0d358c Tento filtr spolehlivě z…
IQ37 21.09.2017 14:03
IQ37
Regulárne výrazy nefungujú, pretože to nie sú regulárne výrazy, ale vlastná syntax daného blokovača.…
moose 21.09.2017 21:05
moose
<div class="Ta2b7ac773eb4a7402cec37b06c9e1fe7 sa-hide Tdd3f35441b0866f8831ce847e4e9849b" id="T60ba19…
IQ37 21.09.2017 21:53
IQ37
Konrétně na aktualne.cz by mělo fungovat toto. Bez toho se totiž reklamní a nereklamní requsty promí…
ublock-expressions 21.09.2017 23:05
ublock-expressions
Takže i přesto, že to nechápu, tak to se zakázanými cookies skutečně funguje. Nemyslím ten filtr, te…
IQ37 21.09.2017 23:38
IQ37
tenhle filtr bude k ničemu protože je příliš konkrétní. Slabinu ublocku vidím v nešťastném způsobu n…
ublock-expressions 22.09.2017 10:41
ublock-expressions
Takže to zase oživím. Aktualne.cz překonalo neukládání cookies tím, že pokud nejsou uložené cookies,…
IQ37 25.11.2017 17:07
IQ37
Anebo alespoň na ###sas_39965_73740 (náhodná čísla). To už je hotový filtr, ale obsah se mění.
IQ37 28.11.2017 11:03
IQ37
Užij si to :-) Když zablokuješ sas_ například pomocí :has() tak to tu reklamu hezky zablokuje, jenže…
kacikac 28.11.2017 15:58
kacikac
Už jsem psal, že to aktualne.cz nějak poměnilo a vypnutím cookis dochází k tomu, že se stránka nenač…
IQ37 28.11.2017 16:21
IQ37
Nevím jak tobě, ale mně to bez cookies funguje (firefox a chrome). Toto: aktualne.cz##div[id^="sas_"…
kacikac 28.11.2017 16:29
kacikac
Mám taky Firefox a prostě po zákazu ukládání cookies se zobrazí bílá stránka. Já jsem tam dal ty fil…
IQ37 28.11.2017 16:32
IQ37
Šak s tou bílou stránkou po tom použití has jsem ti to už popsal. aktualne.cz prostě boj o reklamu v…
kacikac 28.11.2017 17:10
kacikac
Jenže tohle je už vyšší liga a tam já nesahám. Momentálně mám tu stránku ve stavu (viz. příloha). As…
IQ37 28.11.2017 17:51
IQ37
o kterou reklamu konretne jde? Aktualne resim pres stylish takhle: @-moz-document domain("aktualne…
lucifer 28.11.2017 17:59
lucifer
Konkrétně ty prvky, které jsou kolem slova "reklama". Viz. příloha. Edit: Zkusil jsem do userConten… poslední
IQ37 28.11.2017 18:34
IQ37

Ahoj, zvláštne, že ten reťazec má 33 znakov. Predpokladal by som párny počet, keďže to vyzerá na hexadecimálne číslo. Regulárny výraz bude vyzerať nejako nasledovne (prvý očakáva presne 33 znakov, druhý očakáva aspoň 1 alebo viac):

stranka\.cz###[0-9a-f]{33}
stranka\.cz###[0-9a-f]+

V hexa to není, protože se tam objevuje i další písmena (i velká - pokud jsem si to znovu ověřoval). Zadal jsem i [0-9a-zA-Z]{33}, ale stejně to v obou případech jako filtr nefunguje. ^[0-9a-zA-Z]{33}$ taky ne.
Konkrétně filtr z AdBlocku je tady (ovšem jen pro ten jediný případ):

zpravy.aktualne.cz###V7e7c1188b746ed4be4c2121142794e0c

Tak pokud jen na ten server chodíš číst, tak používej Chrome a zakaž pro ten server javaskript a cookies (dělá se to kliknutím na i před doménou), teď jsem zkoušel zpravy.aktualne.cz a mám to bez reklamy. (teda myšleno v kombinaci s klasickým blokovacím doplňkem)

Konkrétně ten div je mezera na vrchu stránky, kterou se snažím odstranit. Javascript i cookies se dají zakázat i ve Firefoxu, ale v tom problém není. Následující filtr sice funguje, ale "utrhne" mi nahoře kromě zbytečné mezery i celý titulek článku...

aktualne.cz##div:nth-of-type(5)

Zkoušel jsem i hromadu čísel nahoru i dolů, zabírá taky aktualne.cz##div:nth-of-type(1), ale to mi zmizí celý článek. :-)

Todle to ti veme všechny divy relativně, například všechny první divy ve všech prvcích co jsou na stránce, případně všechny páté divy. Já to psal absolutně i s cestou před tím.
Jak jsem psal příklad:
*****.cz##HTML > BODY > DIV:nth-of-type(3)
tak to znamená, že pokud je ve stránce na *****.cz element HTML a v něm BODY a v tom BODY jsou minimálně tři DIV, tak ten třetí bude bloklý. Pokud zrovna ten DIV má v názvu řetězec o různých znacích po každém načtení tak se to třeba podle toho názvu špatně blokuje, pokud je ale ten DIV pořád ve stejné cestě tak se to blokuje hezky tak jak píšu, pokud to ale není ošetřené nějakým způsobem třeba přes javascript...

V první řadě: Je tento div danou class ve zdrojáku (hlavním html dokumentu)? Pokud ne, je nějak dynamicky generován, je to řešení až následků a čistší bude bloknout přímo daný (inline/externí) skript, sice bude možná pracné, zjistit, odkud to pochází. V opačném případě hrozí, že se načtou i obrázky patřícího do daného divu, což předpokládám je btěžující svinstvo. (Opravte mě, pokud to není pravda, ale mám za to, že pokud je element display:none, tak img obrázky uvnitř něj se stejně načtou. )

ano, mechanické řešení [a-z0-9]{33} v praxi by mohlo fungovat, i když to není moc čisté

Zkus to jinak - najít si nadřazený(předka-ancestor) selektor, což by teoreticky mohlo být něco jako div.reklama-placeholder ; ublock origin dokonce umí i cílit prvky pomocí selektorů uvnitř (child node) pomocí jakoby-neoficiálního css pseudoselektorů has,has-text-if,xpath aside.rightcol section:has(span:has-text("REKLAMA")) (použit 2krát), tuším že tyhle filtry jsou možná náročnější na provedení, proto by se s nimi nemělo plýtvat (nepoužívat globálně bez určení stránky a také by měly být ukotveny k nějakému elementu).

Více v dokumentaci ublock.

Týká-li se to aktualně.cz, pak víc než kdy jinde se hodí tatorada(blokace cookies, jednoduché, ale účinné), pokud to nebude poslouchat
samozřejmě nutnost je blokovat 3rd domény(ale některé povolit), v nejhorším případě vypnout inline skripty a normální js skripty.

PS: vše se týká ublocku, adblock je už překonaný. Pozor, zápis filtrů s regulárními výrazy krkolomný, musí se tam escapovat.

PS 2: koukal jsem, pomocí XPATH selektorů by šlo podle mě elegantně filtrovat i reklamy a další hnusy na facebooku, vyznačující se, obtížnou blokovatelností (používám chrome rozšíření, jehož český název je "Reklamní blok pro facebook", jen trpí tím, že je tam náhodou nebo úmyslně "bug", která teoreticky může fungovat jako telemetrie a odesílat nějaké informace, přišel jsem na to ,že ublock detekoval [a defaultně zablokoval, protože defaulně blokuji vše 3rd party ] pokud o připojení na novou doménu nepatřící facebooku - projevuje se jen při přihlášení. -- podstatou bugu je, že blokátor přepisuje src atributy obrázků, ale "nějak" se jim do query stringu připlétají ID kontaktů či skupin )... Jan naprogramovat by to bylo celkem dřina, studovat strukturu facebook webu postavené na react.js je celkem detektivní práce a xpath není zrovna oblíbená technologie.

Takže pro oživení:

zpravy.aktualne.cz###H1896214f14c069869f8572166e0d358c

Tento filtr spolehlivě zablokuje v AdBlocku i uBlocku nežádoucí prvek ve stránce.
Protože se řetězec mění po každém obnovení stránky, potřebuji to nahradit filtrem s regulárním výrazem.
Filtr zpravy.aktualne.cz#{3}[a-z0-9A-Z-_]{33} sice v testeru www.regex101.com vykazuje shodu, ale jako filtr v AdBlocku, ani uBlocku to nefunguje. Čím to je a jak to upravit? Už jsem se málem naučil regulární výrazy... (brát s obrovskou rezervou!) a NIC. :.( bék.

Regulárne výrazy nefungujú, pretože to nie sú regulárne výrazy, ale vlastná syntax daného blokovača. Pred dvomi mriežkami je filter pre názov stránky, za nimi je CSS selektor označujúci prvky, ktoré sa majú schovať. Keďže CSS selektory nepodporujú regulárne výrazy, budete musieť daný prvok schovávať na základe iných kritérií, ako je jeho vygenerovaný identifikátor.

Ďalšia možnosť je nájsť, či daný blokovač nemá špeciálnu syntax, v ktorej by sa dali použiť regulárne výrazy.

<div class="Ta2b7ac773eb4a7402cec37b06c9e1fe7 sa-hide Tdd3f35441b0866f8831ce847e4e9849b" id="T60ba1981ef5aac085370d70c97aee60c">

Jak AdBlock, tak uBlock to blokují podle toho ID. Ve filtru ID nahrazují třemi křížky ###. Podle něčeho jiného to blokovat nejde. Po refreshi stránky se mění i ty první řetězce...

Konrétně na aktualne.cz by mělo fungovat toto. Bez toho se totiž reklamní a nereklamní requsty promíchají přes proxy a náhodné názvy a těžko půjde oddělit svinstvo od od Ylustračních obrázků.

Nevím teď z hlavy, zda fungují regulární výrazy i v selektorech, ale všiml jsem si nové stránky v dokumentaci o procedurálních selektorech, se kterými se dá čarovat.
Každopádně i regulární filtry musí být uvozeny v lomítkách.

Takže i přesto, že to nechápu, tak to se zakázanými cookies skutečně funguje. Nemyslím ten filtr, ten jsem smazal. Ten <DIV> se prostě přestal zobrazovat. Toho tématu jsem si dřív nějak nevšiml. Dík.

V uBlocku se mi objevil v logu tenhle filtr. Nebudu tvrdit že chápu, jak a co tam vlastně dělá.

||a.centrum.cz/cent/bserver/ball/random=88959012/viewid=54347018/site=aktualne/area=zpravy/keyword=zahranici,aktualnecz,mexiko,zemetreseni/passback=0/device=dnf/template=article/ab=zz/id=0e2331409f1111e7811f002590604f2e/sec1=zahranici/b1/size=leader,79a,91a,92a/async=1/b2/size=prannotation/pos=1/async=1/b3/size=fullbanner/pos=4/async=1/b5/size=commercial/async=1/*$script,domain=zpravy.aktualne.cz

Jenom vidím, že ta hovada udělají se stránkou všechno, aby se ta jejich reklama zobrazovala.

Označím jako vyřešené, ikdyž to není filtrem s regex.

tenhle filtr bude k ničemu protože je příliš konkrétní. Slabinu ublocku vidím v nešťastném způsobu návrhů filtrů, byť je to stále lepší než když se filtry musely zadávat ručně. Nejspíš ti to ukázalo na záložce logger různé řádky, tys něco vybral, v popupu se zobrazilo pár řádku s , kde se odmazávala url zprava.

nejspíš správně je filtr ||a.centrum.cz

Doporučuji v ublocku přejít na pokročilý režim (1. tab nastavení), kde je možnost pracovat s dynamickými filtry, které jsou odlišná od adblockových a mnohem rychlejší (i když mají také svá úskalí, která mě štvou- rozdělení na host-based a type-based nepokrývá všechny případy) - fungují totiž tak, že není nutné se ručně piplat s filtrem, ale rovnou v popupu u dané domény zašrknout zelenou/šedou/červenou a to buď vlevo globálně nebo vpravo lokálně (filtr platí pro danou doménu), nevýhoda je, že není zobrazeno vše: cookie, xhr a rámce z stejné domény a blbá práce se subdoménami.

v dynamickém filtrování stačí v popup kliknout v řádku a.centrum.cz na červený čtvereček, čím vznikne filtr
* a.centrum.cz * block
případně
www.centrum.cz a.centrum.cz * block (což odpovídá trochu té příponě $domain=centrum.cz, ale bohužel už nelze nastavit, že se má blokovat jen skript nebo iframe, musí to být *)
(význam sloupců je: 1:adresa 2: cíl-requestu 3:typ 4:pravidlo(allow,noop,block) ) Dynamické filtry vždy přepisují statické "adblockové". Tudíž allow projde i přes statické filtry-moc se nepoužívá, noop nedělá nic-používá se velmi často pro whitelistování domény, pokud nadřazený dynamický filtr např.blokuje a block způsobí blokaci a používá se také často. Je to krásně znázorněné, protože tam jsou 2 druhy sytostí, méně sytá značí, že filtr je zděděný

blokování je o tom najít vhodný filtr, který pokryje svinstvo a zároveň nerozhodí stránku.

Takže to zase oživím. Aktualne.cz překonalo neukládání cookies tím, že pokud nejsou uložené cookies, na stránce se nezobrazí vůbec nic (bílá stránka). Uměl by někdo udělat filtr pro ABP nebo uBlock na toto? Pozn.: Ta mezera uprostřed toho řetězce tam skutečně má být, není to chyba. A řetězce se samozřejmě mění po refreshi stránky.

<div class="v2a8fd784de6bc6225629bbe3d1199258 v23e17cc73f1f302149eb9ae1e7b3af5a">reklama</div>

Užij si to :-)
Když zablokuješ sas_ například pomocí :has() tak to tu reklamu hezky zablokuje, jenže javascript tam vytvoří úplně jinou strukturu. Tu zablokuješ třeba pomocí cesty k inframe, hezky se to zas zablokuje, jenže javascript asi zablokuje celej web :-) No ještě pokoumám jak by to nějak šlo.
Každopádně asi nejelegantnější řešení je na aktualne.cz típnout cookies, reklamu to hezky vyeliminuje hned a funkcionalitu to omezí jen trochu, např. videa jdou, jen asi nejdou online streamy, i když se ten iframe zviditelní, tak tam aktualne.cz nic nepošle.
... a jen takový zkušební nástřel:
aktualne.cz##div[id^="sas_"]
aktualne.cz##div[style*="height:200px"]
trošku to funguje na tu horní reklamu, ještě to ale neblokuje celej prostor, tak to nakonec snad nějak vykoumat pude. Zkusím doplnit :has() co to udělá... když tak to tu zedituju.

Nevím jak tobě, ale mně to bez cookies funguje (firefox a chrome).
Toto:
aktualne.cz##div[id^="sas_"]
se ti tam chytá, je ale třeba ještě přidat:
aktualne.cz##div[style*="height:200px"]
a asi tam reklama nahoře nebude, ale bude tam volné místo.
To se začistí tím, že se do těch pravidel přidá :has()
aktualne.cz##div:has(div>div>div[id^="sas_"])
aktualne.cz##div:has(div>div>div[style*="height:200px"])
Jenže toto to začistí tak dokonale, že aktualne.cz boj o reklamu vzdá a típne celou stránku a to tak, že nastaví hromadě prvků display none, což ale nevadí, stačí těm prvkům nastavit display block :-)
Jo a has se dá vysvětlit tak, že máš prvek div, který chceš zablokovat, pokud je v něm cesta div>div>div a to poslední div má výšku 200px.
Jdu pokoumat jakým těm prvkům je potřeba nastavit display block :-)
Když tak to můžeš vykoumat sám :-)
Jo a has a style, kterým se pak bude nastavovat style, funguje myslím jen v ublock origin, který rozhodně doporučuju, protože je nejlepší.

Mám taky Firefox a prostě po zákazu ukládání cookies se zobrazí bílá stránka.
Já jsem tam dal ty filtru oba (ty tvoje), ale jak vidíš, podle logu se na stránce neuplatnil.

aktualne.cz##div:has(div>div>div[id^="sas_"]) - tenhle filtr sice funguje, ale když se načte celá stránka, tak vypadne a zůstane jenom bílá plocha.

Šak s tou bílou stránkou po tom použití has jsem ti to už popsal.
aktualne.cz prostě boj o reklamu vzdá a nastaví display none obsahu, stačí mu nastavit display block.
Ale jak koukám, je to nastaveno přes jednu generovanou proměnnou, která se těm prvkům přidává na konec a té se nastavuje to none. Buď zjistit odkud se bere to nastavení nebo všem elementům nastavit block.
Nebo se to může řešit i tak, že se to bude dělat bez blokování toho volného místa, jen s tím prvním pravidlem, co ti fungovalo, ale to volné místo se nebude blokovat, ale dá se mu výška 0px, třeba pak aktualne nebude nastavovat všem těm elementum none.

o kterou reklamu konretne jde? Aktualne resim pres stylish takhle:



@-moz-document domain("aktualne.cz") {

body
     { 
       background: none !important;
       background-color: #dddddd !important;
       margin-top: -230px !important;                                               
     }

div.adObjectAdWrapper, div#sas-exchange-eko, div#content-course, div#stickyParallax
     {
    display: none !important;
  }
}

Zpět do poradny Odpovědět na původní otázku Nahoru