Update 30/9/2005: I no longer use the Captcha. I use this and it works very nicely.
I was tired of the daily chore of deleting comment spam from my approval queue. I would consider using the spam module only I wanted a solution with no administration overhead, not even training a bayesian filter.
I've modified the comment module from Drupal version 4.5.1 to include Captcha support: the user is shown a graphic containing some letters and they have to type them in. Until our comment spamming friend adds some OCR to his spamming script I should be safe.
My modification is based on the existing Drupal Captcha module and I have been in contact with arnabdotorg, the author of this module, for approval to publish my work. I have not made any alterations to the captcha module but I have copied some of the code and it is necessary to install it in order to set up the administrative options which are also used by my modified comment module.
I have put my modified version of the comment module here. This is only a temporary fix: the author of the Captcha module says he will be working on a proper implementation of comment captchas.
Notes:
- My modification requires anonymous users submitting comments to enter a captcha to prove they are not a spambot.
- Users with accounts should not be asked for a captcha
- The captcha is not checked when previewing the comment
- One captcha is assigned per session so the user does not have to keep typing in different captcha letters (I am not sure if this is a security hole, if the captcha is guessed correctly once you will be bombarded with comment spam. However, it makes life a little easier for the users). The captcha will change if a cron session happens to wipe out the captcha files while the session is open.
- I am not a Drupal guru and I have not considered issues like caching, whether stored session is secure etc. Hey, this is open source, peer review can help put me right.
- The module generates a watchdog warning to mark captcha failures
- Since this has been in place on my site (for three days) I have been seeing captcha failures regularly (4 pagefulls of warnings so far).
- The module is running on my site (http://www.petersblog.org) so you can either break it or drop me some friendly comments.
- I am getting as many comments now as I was getting before so real users are getting through.
Now all I need is a way to keep my referrer logs clean...


I have not encountered comment spam yet, but when I do, this will be very useful. :) I hope it is integrated into captcha module soon.