After getting completely pissed off by referrer spam in my log files, I included the following apache rewrite rules in to my server config. It basically checks the referrer string for various keywords and if a match is found it redirects the request to the referrer url. I’m not sure if it actually works as described but it has cut back the amount of referrer spam. These rules can go into either your apache config or a .htaccess file and you need to regularly add/remove keywords to match the spam that you are getting.
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://.*(loans|poker|casino|viagra).* [NC]
RewriteRule ^(.*)$ %{HTTP_REFERER} [R=301,L]