I hate all that crap in my referrals in my analytics software! So finally I got pissed and updated my Varnish Cache .vcl to show those jerks... well... something less than pleasant!
Check it out (also note this is VCL 4.0):
sub bad_referrals { # Just add the text in the referring domain you want to match, and voila! if ( req.http.referer ~ "hulfingtonpost" || req.http.referer ~ "forum.topic57969834.darodar" || req.http.referer ~ "ilovevitaly" || req.http.referer ~ "priceg" || req.http.referer ~ "blackhatworth.com" ) { set req.http.host = "www.ihateyousomuchomgroflcats.com"; return(synth(750, "All your referer are belong to us.")); } } sub vcl_recv { # Piss off bad referrers call bad_referrals; # ADD THE REST HERE # } sub vcl_synth { # Bad referrers are gonna see something they really don't want to see! if (resp.status == 750) { set resp.status = 301; set resp.http.Location = "http://allyourreferrerarebelongtome.com/"; return(deliver); } }
Tada! Add your bad referrers and send them straight somewhere they're really not gonna wanna go!