The honeypot technique is laughably simple. The basic approach involves adding a hidden input to your form. Your users will never see it, but a bot will. Once submitted to your server, you only need to check if its value is not empty. If so, you have a spammer on your hands! If you combine this with a time tracker, you should be able to prevent a sizable chunk of spam.