Last fall, I posted about the CommentSwap plugin. This plugin was originally developed in summer 2002 and I implemented it at that time. The rationale of the plugin was to prevent Google and other search engines from indexing empty comments forms (I subsequently created the TrackbackSwap plugin based on CommentSwap to do the same thing regarding empty trackback listings).
When I posted about CommentSwap, I noted a side benefit to it. The way that CommentSwap works is to link to different-named versions of MT's comment script depending on whether or not there are comments on the entry. You can then use robots.txt to prevent Google from indexing the version that's linked where there aren't any comments. That is, you're preventing Google from indexing the empty comments forms while not preventing it from indexing the ones with comments. The side benefit is that spambots usually just look for links to mt-comments.cgi or forms that post to mt-comments.cgi. They want to hit as many sites as possible, so they don't want to spend time on each site trying to find out the name of the comments script. If they don't find mt-comments.cgi on your site, they'll probably move on to an easier target. So, when you're using CommentSwap, your entries without comments are protected in a small way from spambots. For most bloggers, this is a pretty substantial number of their entries.
This is a side benefit. Obviously, you would want to protect all your entries from spambots, whether they have comments or not. But if you had previously implemented CommentSwap, you were already part protected when the comment spamming began, as I was.
Real anti-spam measures involve renaming your comments script entirely and preventing Google from indexing any of your comment forms. These pretty much obviate the purpose of CommentSwap. Still, when I renamed the other version of the comments script earlier this month, I kept CommentSwap around, mostly because I was too lazy to modify my templates that have the tag in them. Besides, having two variant names is better than one: if a spammer figures out one, that will still only work for some of your entries, not all of them.
Crapflooders are different from spammers. Their aim is to bring down your site, while spammers want to get their link displayed. A lot of the tricks used against spammers will also help protect you against crapflooders. However, because the crapflooder is targeting your site specifically, they're more willing to take the time needed to find your renamed comments script, which is probably not the case with most spammers.
This isn't always the case; it wasn't in the crapflooding attacks I experienced. The crapflooding attack against me appears to be a "bias crime"; I was targeted because of my religion, by a person whose primary motivation was probably that bias. As it turns out, there's a backstory to the larger phenomenon of crapflooding. Somebody designed scripts for the express purpose of targeting MT blogs and made them freely available on the web. My crapflooder(s) apparently grabbed it from there, but he wasn't very clever in using it.
I can't count on being that lucky again, so I'm continuing to look into measures to protect my site against future crapflooding attacks. I've detailed some of these previously (and here).
One of the things I did was to force comment posters to go through preview mode. This is just a matter of removing the "post" button from the comments posting form and leaving only a "spell-check" (my name for preview) button.
Yoz Grahame suggests (see tip 5) a further step. Have two different versions of the comments script. One is linked to on your site and the comment posting form uses it. The other is used by the preview form. The trick is that the first version is hacked so that it can only preview. The fully-functional version is hidden in the preview form so that it takes some digging to find its name.
Implementing this on my site was complicated both by CommentSwap and by the use of EZ Subscribe. However, once I figured it out, it was relatively easy to implement and involved hacking and uploading the new "external" versions of the script (the ones linked to CommentSwap), uploading a third and fully-functional version of the script and editing mt.cfg to change the name of CommentScript (you have to take this step whenever you change the name of your comments script).
It certainly doesn't make the site impregnable; nothing does short of not having comments at all and I'm really depending on the third line of defense, throttling, to prevent any attack from getting too bad. But it's another way to make your site that much more protected.
Update: Comments have been closed on AMIB for a long time, but I had implemented this hack on my MT 3 installation (which houses this blog and a number of others). It worked great as an anti-spam measure. However, with the upgrade to 3.2, the mt-comments.cgi script has changed so that I don't know how to make a copy that can only preview. So I had to give that up. Sure enough, I'm starting to see more spam :(