Hallo,
mir wurde gesagt, dass es möglich sei mit AdBlock auch Layer zu blocken. Nun frage ich mich, wie man solche Blocker erkennen kann.
Könnte mir da vielleicht einer ein paar Tips geben?
Danke
DMX
Erkennung von Usern mit Blockern
gepostet vor 17 Jahre, 6 Monate von darkmanx
gepostet vor 17 Jahre, 6 Monate von None
Bau etwas in den Layer ein, was du über die Objektkette abfragst. Ist das Objekt nicht vorhanden, dann liegt hier ein Blocker vor.
gepostet vor 17 Jahre, 6 Monate von COrthbandt
Das funktioniert leider nicht, denn:
- die Adblocker triggern zu 95% auf den Quell-Server (beim Ad-Provider)
- Auf die Daten des Quell-Servers hat man i.A. keinen Zugriff
Das führt dazu, dass all Deine schönen Tracker-Elemente sauber weiter geladen werden, bloss die Werbung halt nicht.
Eine Alternative wäre, per JS und Timer nachzusehen, ob an der Stelle im DOM wo die Werbung sein soll tatsächlich nennenswerter Content angekommen ist.
Aus zuverlässiger Quelle weiss ich, dass das funktioniert. Allerdings mit ein paar Hürden:
1. LayerAds usw. kommen nicht immer und Du weisst nicht wann (30min typisch)
2. Wenn Du die Werbung in einen IFrame packst (was IMHO ratsam ist), kommt man da nur mit Verrenkungen an den Content ran.
Problem 1 führt dazu, dass man das eigentlich nur nachträglich durch Log-Analyse ermitteln kann da für einen einzelnen View keine klare Aussage möglich ist.
Problem 2 führt zu einer hübschen Browser-Weiche.
Aber beides lösbare Probleme.
- die Adblocker triggern zu 95% auf den Quell-Server (beim Ad-Provider)
- Auf die Daten des Quell-Servers hat man i.A. keinen Zugriff
Das führt dazu, dass all Deine schönen Tracker-Elemente sauber weiter geladen werden, bloss die Werbung halt nicht.
Eine Alternative wäre, per JS und Timer nachzusehen, ob an der Stelle im DOM wo die Werbung sein soll tatsächlich nennenswerter Content angekommen ist.
Aus zuverlässiger Quelle weiss ich, dass das funktioniert. Allerdings mit ein paar Hürden:
1. LayerAds usw. kommen nicht immer und Du weisst nicht wann (30min typisch)
2. Wenn Du die Werbung in einen IFrame packst (was IMHO ratsam ist), kommt man da nur mit Verrenkungen an den Content ran.
Problem 1 führt dazu, dass man das eigentlich nur nachträglich durch Log-Analyse ermitteln kann da für einen einzelnen View keine klare Aussage möglich ist.
Problem 2 führt zu einer hübschen Browser-Weiche.
Aber beides lösbare Probleme.
gepostet vor 17 Jahre, 6 Monate von duschendestroyer
adblock funktioniert doch afaik so dass die URL des adproviders gesperrt wird und kein content von dort geladen wird
da könnt man ja einfach ein bild mit von der seite des adproviders laden und per js schauen obs geladen wurde
sowas in dir richtung hab ich jedenfalls im LayerAds-forum gelesen
da könnt man ja einfach ein bild mit von der seite des adproviders laden und per js schauen obs geladen wurde
sowas in dir richtung hab ich jedenfalls im LayerAds-forum gelesen
gepostet vor 17 Jahre, 6 Monate von Drezil
@dd: falsch.
sieh dir mal adblock an.
da findest du 2 optionen:
1. werbung nur verstecken (setzen von display="none" im client)
2. werbung erst gar nicht laden
außerdem kann man z.b. mit noscript gezielt das ausführen des js von server xy blockieren.
was COrthbandt sagt stimmt schon so. Am besten ist, dass man per js nachschaut, ob die Werbung im DOM-Baum angekommen ist UND nicht irgendweche css-attribute (z.b. von adblock) verpasst bekommen hat, die sie einfach ausblenden/wegschieben/verdecken/.. (display:none, visibility:hidden, width:0px, height:0px, top:-10000px, left:-10000px etc.)
und selbst das kann man (wohl eher nur programmierer) umgehen, indem man sich z.b. ein greasymonkey-script schreibt, welches z.b. deine prüf-funktion im client überschreibt oder den layer-container selbst manipuliert.
Möglichkeiten gibt es viele. Und bei Laien reichen schon "einfache" überprüfungen. Aber je versierter das Zielpublikum ist, desto schwerer ist es. Aber was wie auf dem Client dargestellt wird entscheidet letztendlich der Client.
Um die Macht von AdBlock(Plus) zu demonstrieren hier mal nen kleines Beispiel mit nen paar reg-echsen
chewey.de/mozilla/data/adblock.txt
man beachte auch die css-filter, die z.b. standard-layer unabhängig von der quelle blockieren.
sieh dir mal adblock an.
da findest du 2 optionen:
1. werbung nur verstecken (setzen von display="none" im client)
2. werbung erst gar nicht laden
außerdem kann man z.b. mit noscript gezielt das ausführen des js von server xy blockieren.
was COrthbandt sagt stimmt schon so. Am besten ist, dass man per js nachschaut, ob die Werbung im DOM-Baum angekommen ist UND nicht irgendweche css-attribute (z.b. von adblock) verpasst bekommen hat, die sie einfach ausblenden/wegschieben/verdecken/.. (display:none, visibility:hidden, width:0px, height:0px, top:-10000px, left:-10000px etc.)
und selbst das kann man (wohl eher nur programmierer) umgehen, indem man sich z.b. ein greasymonkey-script schreibt, welches z.b. deine prüf-funktion im client überschreibt oder den layer-container selbst manipuliert.
Möglichkeiten gibt es viele. Und bei Laien reichen schon "einfache" überprüfungen. Aber je versierter das Zielpublikum ist, desto schwerer ist es. Aber was wie auf dem Client dargestellt wird entscheidet letztendlich der Client.
Um die Macht von AdBlock(Plus) zu demonstrieren hier mal nen kleines Beispiel mit nen paar reg-echsen
chewey.de/mozilla/data/adblock.txt
man beachte auch die css-filter, die z.b. standard-layer unabhängig von der quelle blockieren.