Als Nachtrag zur kleinen Geschichte von Hase und Igel hier eine vorläufige Lösung des “Problems” auf der Basis des allseits bekannten Apache mod_rewrite Moduls:
Die erste rewrite-Regel filtert auf der Basis der angegebenen TLD’s und schickt den Spammer zu seinem eigenen Referer zurück.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*.tld1$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*.tld2$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*.tld3$ [NC]
RewriteRule ^.* %{HTTP_REFERER} [R,L,E=nolog:1]
Die zweite Regel filtert die verbleibenden Problemfälle auf der Basis eines Wortvergleichs:
RewriteCond %{HTTP_REFERER} ^http://(www\.)?wort1.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?wort2.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?wort3.*$ [NC]
RewriteRule .* - [F,L,E=nolog:1]
NC macht die Prüfung auf Groß- oder Kleinschreibung obsolet, OR ist die bekannte logische Operation, E=nolog:1 verhindert, dass der Schmutz noch Eingang in das Apache Logfile findet.
Weitere Informationen zu mod_rewrite findet man unter:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
http://www.modrewrite.de/