History Sniffing – Was es nicht alles gibt

Leider komme ich ja nie auf so was und irgendwie bekomme ich es auch immer erst dann mit, wenn es in den „Boulevard-Portalen“ der IT-Branche steht. Das muss ich irgendwie ändern. Nun zur Sache: Golem berichtet heute über das s.g. „History Sniffing„. Ein Verfahren mit dem Websites den Browserverlauf des Users zu einem gewissen Grad ausspionieren können, um so z.B. gezielter Werbung zu schalten. Technisch ist es eigentlich total einfach! Ich hab gleich mal losgelegt und mit jQuery ein wenig rumprobiert. Vielleicht kann es ja jemand als Inspiration gebrauchen. Es ist nicht superschön, aber es tut was es soll. ;)

Vorab noch ein bisschen Theorie! Natürlich hat das JavaScript von Haus aus erst mal keinen Zugriff auf den Browserverlauf. Aber man weiß sich ja zu helfen! ;) Besuchte Links werden vom Browser ja seit je her anders farbig markiert. Früher was das immer ein schickes lila. Diesen Wert („:visited“) kann man per CSS beeinflussen – und mittels JavaScript wieder auslesen. Na, fällt der Groschen? Wenn man nun also eine Liste von Links erzeugt, den CSS-Wert für besuchte Links auf einen bestimmten Wert setzt und danach mit JavaScript ausliest, was der Browser daraus gemacht hat, dann kann man ermitteln, auf welchen Seiten der User war. Verwendet wird dabei die JavaScript-Funktion getcomputedstyle() was nicht den Initialwert, sondern den errechneten des Browsers ausliest.
Einziger Wehrmutstropfen: Es funktionieren keine Wildcards oder ähnliches und man kann eben nicht auslesen wo derjenige war. Man muss selbst eine Liste an Websites erstellen und darauf prüfen. Wenn man aber gezielt Facebook-Benutzer, Amazon-Kunden und/oder Kunden der Konkurrenz abgreifen will, dann ist das damit möglich.

Über die rechtliche Lage will ich mich nicht äußern, davon habe ich keine Ahnung. Aber es ist sicher nicht im Sinne des Datenschutzes, weshalb ja nun auch von zwei Amerikanern geklagt wird (s. Golem-Artikel). Jeder, der so etwas einsetzt sollte sich bewusst sein, dass es vielleicht Ärger geben könnte!

Hier mein „Fünf-Minuten-Skript“. jQuery ist natürlich Voraussetzung.

Let’s Rock!



// Ein Array mit Seiten (mit www. und ohne www., http und https sind Unterschiede!)
var links = [
        "http://www.amazon.de",
        "http://www.google.de",
        "http://www.iveneverbeenhere.com",
        "http://www.dhd24.com"
    ];

    jQuery(function() {

       // Das Array durchlaufen
       jQuery(links).each(function() {

            // Einen Link erzeugen und die CSS-Klasse .sniffer vergeben
            var $link = jQuery(document.createElement("a")).attr("href", this).addClass("sniffer");

            // Links im DOM einhaengen
            jQuery("body").append($link);

        });

        // Lustigen Farbwert ausdenken (Pink)
        var color = "rgb(255, 192, 203)";

         // Allen ":visited"-Links mit der CSS-Klasse "sniffer" die lustige Farbe verpassen
        jQuery("a:visited.sniffer").css("color", color);

        // Eben jene ":visited-sniffer-Links" durchgehen
        jQuery("a:visited.sniffer").each(function() {

            var $link = jQuery(this);

            // Wenn die Farbe, die der Browser vergeben hat, mit der "lustigen Farbe" übereinstimmt - Volltreffer!
            if (color === $link.css("color")) {
                alert($link.attr("href"));
            }

        });

    });
War dieser Artikel hilfreich für Sie?
[Gesamt: 0 Durchschnitt: 0]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *