Korinaa kuopasta

Jo 582 juttua!

Tilaa RSS tai Atom

AdBlockin käyttäjien tunnistamista

Löysin Dan Larseniksi itseään kutsuvan ukkelin kehittämän Adblock Detector -skriptin osoitteesta adblockdetector.com. Tuo on osoittautunut ihan toimivaksi keksinnöksi. Se tunnistaa nettisivustolla vierailevan henkilön selaimesta sen, suodatetaanko sillä nettisivustolta mainokset pois näkyvistä. Tunnistaminen tapahtuu JavaScriptin avulla asettamalla pari pientä tiedostoa nettisivun lähdekoodin loppuun. Muokkasin tuosta skriptistä oman version Nippelitieto.comiin, jossa niitä kaikenlaisia mainoksia käytetään sivuston ylläpitokustannusten kattamiseksi. Tunnistaja ei tee tuon Nippelitieto.comin tapauksessa mitään jos AdBlockia ei ole laitettu filtteröimään bannereita, mutta jos se on niin laitettu, silloin avautuu jokaisella sivulatauksella sellainen muistutus siitä kenen leipää tuollainen toiminta syö.

Käytän itsekin paljon AdBlockia ja osassa omiakin nettisivujani, mutta pidän sen passiivisena useilla sellaisilla sivustoilla, joiden vakiovierailija olen. Osa surffaajista suodattaa mainosbannerit jokaiselta saitilta perustellen sitä vaekkapa sillä, etteivät halua tuijottaa niitä pannereita jatkuvasti. Minuakin ottaa tattiin useiden asioiden ohessa esimerkiksi televisiossa sellainen juttu kun niitä mainoskatkoja on enemmän kuin itse ohjelmaa.

Meinasin alunperin katsoa josko AdBlockin käyttäjät voisi tuolta yhdeltä sivustolta bannata kokonaan. Se kai olisi turhan järeä kikka, mutta varmaan teknisesti mahdollista, sillä AdBlockin käyttäjäthän on tämän yllä näkyvän skriptin perusteella mahdollista tunnistaa.

Koska aika on arvokasta, kannattaa tutustua tähän alla näkyvään listaan jos mielit löytää tämän nettisivuston parhaat kirjoitukset. Tässä alapuolella on kaikkein luetuimpia kirjoituksia Korinaa kuopasta -blogin aarreaitasta. Kirjoitukset on järjestetty suosituimmuusjärjestykseen siten, että luettelon kärjessä on tällä hetkellä eniten lukukertoja saaneet kirjoitukset.

Luetuimpia blogimerkintöjä

Blogimerkintää "AdBlockin käyttäjien tunnistamista" muokattiin viimeksi 3281 päivää sitten, eli maanantaina 21.12.2009 kello 01:01. Kirjoitukseen on julkaistu kommentteja 5 kpl. Kaikki kirjoituksen saamat kommentit löytyvät suoraan tämän tekstimötikän alapuolelta.

Julkaisun kommentit

qwertyasd kommentoi 3281 päivää sitten

Noscript lisäosa blockaa mukavasti nuo adblock tarkistukset.

Petri kommentoi 3280 päivää sitten

Juu, niin varmaan on. Pitääpä katsoa jossain vaiheessa löytyisikö vielä joku Noscriptin tarkistaja, jolla pystyisi suojautumaan siltä. Sitä ennen aion kirjoittaa blogimerkinnän löytämästäni hienosta videoklipistä, joka kertoo paljon tämän blogin taustalla näkyvistä täplistä. ;-)

Gocom kommentoi 3265 päivää sitten

Pitääpä katsoa jossain vaiheessa löytyisikö vielä joku Noscriptin tarkistaja, jolla pystyisi suojautumaan siltä.

Pystyy, serveripuolen ohjelmoinnilla ja myöskin itsessään JavaScriptillä, sillä estäminenhän toimii molempiin suuntiin; se voi niin poistaa näkyvän kuin poistaa piilottajan.

Eli vaihtoehto yksi. Periaatteessa esim. PHP:n avulla katsotaan onko kyseinen käyttäjä hakenut koodipätkän X serveriltä. Jos esim. link-elementin objektia ei ole haettu serveriltä, scripti tappaa sivun. Tietysti tämä vaatii sen että se mistä JS haetaan on blokittujen listalla. Muulloinhan estämistä ei voi tietää.

Tietysti tuossa on omat ongelmansa, kuten se että tiedosto voidaan hakea, mutta sitä ei silti tarvitse käyttää. Toisekseen cachettaminen tuottaa hieman ongelmia tuon kanssa.

Jos cachettamista halutaan kuitenkin käyttää voidaan ensimmäisellä käyntikerralla tehdä tuo tarkastu sen jälkeen kun ollaan vihjattu selaimelle ettei se vedä tiedostoja välimuistista. Jos haku onnistuu kirjataan kävijä whitelistille, jos ei niin näytetään kansainvälistä merkkiä.

Sitten on tietysti ne JavaScript keinotkin. Esim. se että sivusto toimii Ajax-kutsuilla tai CSS-määrittelyt tehdään JS:n kautta auttavat estämään JS:n estämisen. Jos JS on aktivoituna, katoaa näkyvistä kansainvälinen käsimerkki, muulloin näytetään merkkiä jne.

Vaihtoehtoja tunnistamiseen on rajattomasti.

Petri kommentoi 3265 päivää sitten

Kiitos kommentista Gocom. Näin sen itsekin järkeilin, että jos kerran pystyy käyttäjän suunnalta tunnistamaan niin toisinkin päin voi tehdä. Tuo PHP:n avulla tehtävä tunnistaminen on itse asiassa JavaScriptiäkin luotettavampi tapaus. Voisiko tehdä esimerkiksi niin, että koodi tsekkaisi onko käyttäjä ladannut vaikka jonkun kuvatiedoston ja sitten reagoida jotenkin siihen?

Gocom kommentoi 3264 päivää sitten

Petri, oikeastaan tuo JS keino on helpompi ja yleisestikkin ottaen parempi, sillä se ei aiheuta rasituksia ja näin pois päin. Sekä se oikeasti toimii ilman kikkailuja.

Eli periaatteessa laitat vain sivun merkkaukseen ilmoituksen:

<p id="mainoshuomio">Siähän blokkaat JavaScriptit ja mainokset. Sädface.</p>

Ja sitten JS:llä piilotat sen. Esimerkki käyttää jQuery -kirjastoa:

$(document).ready(function(){
	$('#mainoshuomio').hide();
});

Oho! Tämän julkaisun kommentointi onkin jo suljettu. Kun tämän julkaisun kommentointi oli vielä avoinna, tälle julkaisulle kirjoitettiin yhteensä 5 kommenttia. Tämä artikkeli on lokeroitu kategoriaan Web. Tämän julkaisun kestolinkin osoite on http://www.kuopassa.com/weblog/2009/12/21/adblockin-kayttajien-tunnistamista.