Randomize HTML kimliği özelliklerine sahip reklamlar nasıl engellenir?


2

UBlock Origin'i reklam engelleyicim olarak kullanıyorum. HTML'yi tanımlayabilen bir seçici araçla özel filtreler eklemeyi kolaylaştırır id ve class elemanların özellikleri.

Rasgele oluşturulan bazı web siteleri var id Reklam bölümü için sayfa her yüklendiğinde. Bu tür reklamları engellemenin etkili bir yolu nedir? Belirli bir engelleme id artık mümkün değil.

İşte böyle bir sayfa örneği. Rastgele fark id.

http://www.thelocal.fr/20170219/france-denounces-cyberattacks-blamed-on-moscow

enter image description here

Açıkçası, şu anda bu web sitesindeki bu reklamlar beni çok rahatsız etmiyor, çünkü açıkça etiketlenmişler ve vurgulanmışlar, bu nedenle bir sayfayı gözden geçirirken atlamak kolay. Ancak geçmişte, bu site onları etiketlemedi ve "sponsor" makaleleri normal kitaplardan ayırmak zordu. Onları engellemeye çalışmam için beni motive eden şey buydu. Gelecekte tekrar yapmak istersem, nasıl olacağını bilmek isterim.

Yanıtlar:


1

İlk olarak, hepsi CSS ile ilgili. Benzersiz bir kimlik olmadığından, yalnızca istenmeyen öğelerle eşleşen bir şekilde bir sorgu yapmanız gerekir. Bunları kullanarak tarayıcınızın geliştirici araçlarında test edebilirsiniz.

document.querySelectorAll("...")

Bazen, bu öğelerin satır içi stilleri gibi onları benzersiz şekilde tanımlayan başka özellikleri de vardır. Bir özellik seçici kullanarak bunları eşleştirebilirsiniz:

div[style="background: ..."]

Bazen, bu öğeler, bu durumda olduğu gibi DOM ağacında sabit bir noktada görünür. Bazen haklı olmak zor olabilir, ancak burada çok kolaydır, çünkü onlardan önce her zaman (zaten engellenmiş) bir reklam vardır:

div.ad_container + div[id*=-widget]

Belki de son unsurdur:

div:last-child

CSS seçicileri hakkında daha fazla bilgiyi Mozilla Geliştirici Ağı .

Ancak, doğru yapılırsa, komut dosyası olmadan hiçbir şey yapamazsınız. Rasgele bir isimle etiket yaratacak betikler gördüm bile <uaUZGI> ) DOM ağacındaki rastgele bir konumda, daha sonra bir şekilde ekranda istenen yerde görünmesi için yapılır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.