Another solution would be to use Referrer Karma. There is some configuration and you have to put a code on *each* PHP page you want to protect. But configuration is really easy and the code won’t bite you (just be sure to back up your file before making changes if in case anything goes wrong).
Basically the script keeps track of which referrers are spam and which aren’t through black and white lists. This is done automatically every time a referral is made to your site. If the link is a suspicious one, it is added to the blacklist. But you can change this at anytime by designating the URL as a whitelisted link.
And it’s working. In the hour since I’ve installed the script, Referrer Karma has blocked 10 spam links without me having to do anything! How neat is that?!
I’ll keep looking for other solutions to the Spam Referrer Problem for further testing. If you know of others, let me know.