I know you are probably thinking that this will be some silly thing, but this idea that Thomas Landauer came up with is by far the best I've seen in a long time.
Add CSS-hidden fields that a user won't see, but a spam-bot will fill. Then using php check if they were filled, and if they were: block the spammer!
I'm sure you've seen them many times -- those wild squiggles that need to be deciphered and typed into a text box before you can buy concert tickets online or access a comment form.