i’ve been getting so much comment spam and contact form spam lately that i had to find a solution.

Enters “Bad Behaviors”.

Bad Behavior was designed and built by watching actual spambots which harvested email addresses, posted comment spam, and used fake referrers. By logging their entire HTTP requests and comparing them to HTTP requests of legitimate users, it is possible to detect most spambots. Bad Behavior blocks spambots with a 412 error. It also has three configurable User-Agent lists for spambots and other malicious bots which actually identify themselves. Bad Behavior can use string matching or regular expression matching against a User-Agent.

Bad Behavior also will target bots which fail to obey robots.txt. At this time some of these bots are banned by User-Agent, though in the future Bad Behavior will detect them automatically.

Bad Behavior intends to target any malicious software directed at a Web site, whether it be a spambot, ill-designed search engine bot, or system crackers. In that spirit, it is not limited to WordPress users; a generic interface has been provided whereby it can be integrated into virtually any PHP-based software.

You can find out more and download it here:
Installing and Using Bad Behavior