Referral Spammer müssen draußen bleiben

Referral Spammer nutzen häufig die Funktion von Weblogs oder CMS Systemen, Referrals als Hyperlinks anzuzeigen. Diese Funktion, die dem Webmaster zeigen soll, wer auf seine Webseite verlinkt, wird von Referral Spammern dazu misbraucht, die eigene Linkpopularität zu steigern. Sie erzeugen einfach künstlichen Traffic (und damit Kosten) auf meine Seite und werden dann in meinen Referrals gelistet.

Kurz: Es wird ein Link angezeigt, von welcher URL die letzten Besucher kamen. In meinem Fall hat das Problem ein Mambo-Modul „Latest Referrals“ erzeugt. Der Referral Spammer braucht nur einmal meine Website aufzurufen, um dann in meiner Liste mit den letzten Besuchern mit seiner URL aufzutauchen. Unbedarfte Besucher gelangen dann von meiner Seite auf Seiten, die sie garnicht besuchen wollten. Und wenn der Referral Spammer den Aufruf meiner Website automatisiert ablaufen lässt, hat er einen permanenten Link zu seinen obszönen Seiten.

Das schlimmste jedoch ist, dass Suchmaschinen solche Scharlatane nicht erkennen und diese -meißt obszönen Seiten- auch noch als vielbesucht bewerten und dafür belohnen.

Man kann versuchen, diese Art von Spam mit verschiedenen Mitteln zu bekämpfen. Probiert habe ich 3 Möglichkeiten. Wobei ich die 3. Variante recht komfortabel finde.

Blockieren des Zugriffs anhand seiner eigenen Kennung (HTTP Referrers)

Hier ein Ausschnitt meiner .htaccess. Beachte aber, dass ModRewrite von Apache eingeschaltet sein muss, damit dies funktioniert.

RewriteEngine On
RewriteBase /

#
# Rules for URL/Referral Spam
#
# allow Referrals from Search Engines:
RewriteCond %{HTTP_REFERER} !.*goermezer\.de/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://([^/]+)google\..*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://([^/]+)altavista\..*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://([^/]+)yahoo\..*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://([^/]+)msn\..*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://([^/]+)a9\..*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://([^/]+)lycos\..*$ [NC]

# Conditions for don`t wanted Referrals
RewriteCond %{HTTP_REFERER} ^.*loans.*$ [OR]
RewriteCond %{HTTP_REFERER} ^.*porn.*$ [OR]
RewriteCond %{HTTP_REFERER} ^.*pharmacy.*$ [OR]
RewriteCond %{HTTP_REFERER} ^.*viagra.*$ [OR]
RewriteCond %{HTTP_REFERER} ^.*extreme.*$ [OR]
RewriteCond %{HTTP_REFERER} ^.*casino.*$ [OR]
RewriteCond %{HTTP_REFERER} ^.*onlinegamblingcasino.*$

# Block users which has one of above keywords in the URL by a http 403 (Forbidden)
RewriteRule .* – [F,L]

Blockieren des Zugriffs anhand der IP oder des Rechnernamens

Dies wird am Besten auch in der .htaccess umgesetzt:

Blockieren des Rechners mit dem Namen pokermoney.com:

<Limit GET>
order allow,deny
allow from all
deny from pokermoney.com
</Limit>

Blockieren des Rechners mit der IP 123.45.67.89:

<Limit GET>
order allow,deny
allow from all
deny from 123.45.67.89
</Limit>

Blockieren des Zugriffs anhand der Kennung (HTTP Referrers) kombiniert mit Wildcards

Diese Variante blockt jeden Besucher, der einen Referrer verwendet, der igendwie die Wörter poker, credit oder money beinhaltet. Und da diese Themen absolut garnichts mit meinen Webseiten zu tun haben, kann ich fast ausschließen, dass ich unnötig Besucher herausfiltere.

<Limit GET>
order allow,deny
allow from all
deny from env=spammer
SetEnvIfNoCase Referer „.*(poker|credit|money).*“ spammer
</Limit>

Probleme mit Referral Spam

Da in letzter Zeit 95% des auf dieser Site erzeugten Traffics durch Referral Spammer verursacht werden, habe ich mich entschlossen, etwas dagegen zu tun:

Für die jenigen, die nicht wissen, was ein Referral Spammer ist: Das sind Robots, Spider, oder einfach dreiste Menschen, die meine Besucher auf ihre eigenen Webseiten bekommen wollen, um ihnen dann etwas zu verkaufen, oder kostenpflichtig gewisse Anatomien zu zeigen…

Um dieses Problem in Griff zu bekommen, habe ich meine .htaccess modifiziert und blockiere alle Zugriffe, die von bestimmten Websites (eine von mir gepflegte URL-Liste) aus zugreifen.

Und siehe da: Von durchschnittlich 100 permanenten Zugriffen sind nur noch die echten Besucher übrig geblieben 🙂

Deitailierter und ein .htaccess-Beispiel im folgenden Artikel.