Well, all I can say is: use MOD_SECURITY2
SecRule REQUEST_HEADERS:REFERER "^.*(netvibes|enire|spike|twohosting|hi5|dating|freehostia|muck|sex|game|porn|foolmambu|fiskekommunema|carpet|cleaning).*$" nolog,deny,status:500
SecRule REQUEST_BODY "^.*viagra.*$" nolog,deny,status:500
SecRule REMOTE_HOST "^.*(vzletka\.net).*$" nolog,deny,status:500
SecRule REMOTE_ADDR "^123\.145\.171\.16$" nolog,deny,status:500
Rules like these keep those idiots from messing up my blog. Everything illegal gets blocked and all they see is a Server error 500.