Kevin Papst Freiberuflicher Software Entwickler

User mittels Referer blocken

U

Die Ideee hinter dem Referer Blocker ist ganz einfach: Ankommende User werden mittels Referer Checks identifiziert, um deren Anfrage entsprechend behandeln zu können. In diesem speziellen Falle sollten User, die von bekannten Spam und Malware Seiten kommen, nicht zugelassen werden.

Vorteile: Einfach mittels PHP umzusetzen. Wirkt für unbedarfte Benutzer wie ein falsch gesetzter Link.

Nachteile: Noch einfacher zu umgehen als die zwangsweise eingeführten Stop Schilder der Bundesregierung. Funktioniert nur, wenn Benutzer mittels Links navigieren. Bei manueller Eingabe der URL in den Adressleiste des Browser schlägt der Check fehl.

Das Skript:

<?php
$referer_file = (dirname(__FILE__) . '/block-referer.txt');
if(!file_exists($referer_file)) {
    touch($referer_file);
    chmod($referer_file, 0644);
}

// Scan for referer's and bounce appropriately
if (isset($_SERVER["HTTP_REFERER"])) {
    $ref = trim($_SERVER["HTTP_REFERER"]);
    if(strlen($ref) > 0) { 
        $spammers = file($referer_file);
        foreach ($spammers as $site) {
            $site = trim($site);
            if(strlen($site) == 0) {
                continue; // Eliminate empty lines
            }
            $pattern = "/$site/i";
            if (preg_match ($pattern, $ref)) {
                header("Location: $ref"); exit();
            }
        }
    }
}
?>

Die Datei „block-referer.txt“ ist die Blacklist, hier wird pro Zeile eine Referer URL angegeben. User die von einer aufgefürten Seite kommen, werden dorthin zurückgeleitet:

red-dir-cgpay-0307.com
r2606.com
www.vp888.net
future-2000

Der Beispiel Code ist ausgesprochen einfach gestrickt. So bietet sich z.B. das setzen eines Cookies und/oder einer Session Variable an, um den User auch später effektiver abwehren zu können. Das Skript lässt sich aber auch prima abwandeln und dazu nutzen, Usern unterschiedliche Inhalte anzuzeigen, so könnte man Usern die von einer Social News Seite kommen, deren zugehörigen Voting Button anzeigen. Ihr könntet „böse“ User aber auch einfach zu Google schicken oder auf eine Landingpage die auf die Gefahren der zuvor besuchten Seite hinweist.

Über den Autor

Kevin

Ich bin ein Tech Geek & Developer der Generation C64, begeistere mich für Open Source Software, lese gerne Bücher, springe aus Flugzeugen, halte die Luft beim Apnoetauchen an, hebe beim Kraftsport schwere Sachen doch und übe seit Jahren das bloggen ... mehr erfahren

Kommentar hinzufügen

Kevin Papst Freiberuflicher Software Entwickler

Artikel Rubriken

Stichwörter

Get in touch