Log into cPanel and click File Manager, which will open in a new window. You will see something like this: (click to see a larger version)

Next, click on the folder next to public_html - this will open the public_html folder (if you click on the name you will only get a list of options for the folder) and you will see the following:

If you don't have an existing .htaccess file I will tell you how to create one near the end. Assuming you do, this time you need to click on the name of the .htaccess file and you will see some options appear in the top, right-hand side of the File Manager screen:

Click on Edit File. If you already have something in there you need to copy and past it into notepad and save it somewhere safe.
You need to add the following to the bottom of your .htaccess file:
SetEnvIfNoCase Referer ".*(terashells|crescentarian|future-2000|6q|yelucie|smsportali|nutzu|ronnieazza|isacommie|
chat-nett|musicbox1|psxtreme|credit|canadianlabels|8gold|texas-hold|hold-em|holdem|
fidelityfunding|condo|sportsparent|mortgage|spoodles|money|cash|hotel|houseofseven|stmaryonline|
newtruths|popwow|oiline|flafeber|thatwhichis|tmsathai|pisoc|crepesuzette|mediavisor|commerce|
easymoney|911|////.vi|gb////.com|4free|macsurfer|teen|pussy|discount|blogincome|lillystar|aizzo|
webdevsquare|laser-eye|escal8|xopy|vixen1|linkerdome|youradulthosting|fick|inkjet-toner|fuck|ime.nu|
perfume-cologne|italiancharmsbracelets|shoesdiscount|psnarones|hasfun|casino|gambling|poker|porn|sex|
paris|gabriola|nude|xxx|hilton|pics|video|adminshop|devaddict|iaea|empathica|insuranceinfo|atelebanon|
handy-sms|peng|just-deals|pisx|rimpim).*" BadReferrer
order deny,allow
deny from env=BadReferrer
The section in bold needs to be one, unbroken line otherwise you will get server errors when you try to view your site. It's best if you copy and paste into notepad (make sure word wrap is off) and get that long line right, then copy it into the file edit screen in cPanel. As you can see, it looks like there is a hard return after SetEnvIfNoCase Referer and before BadReferrer but there isn't, they are spaces.

Click Save and close the editing screen, which will have been opened in a new window. You should be able to access your site as normal, if you get any errors at all contact me.
Keep an eye on your stats and you should see those fake referrers dropping off your stats. As new URLs appear you can edit the list in the .htaccess file as necessary by adding string| after the "("
If you don't have an exisiting .htaccess file in public_html you will have to create one. You can create it in something like notepad and ensure that you have the one long line in the middle. call it .htaccess and upload it to your public_html folder either by using File Manager or your ftp client.
Thanks for this solution go to Dorothea at Caveat Lector