It looks like there are basically two methods for preventing spam. Both of them match submitted edits against a regex string, and reject those which fail the test. One method is built in and allows only a single regex string; the other requires an extension ("ambiguously licensed") and allows blacklist data to be pulled from remote sites.
A tip for small sites: always monitor your site's RSS feed to see what changes are being made by others. A lot of spam does not show up when looking at the page as displayed in a browser; the content is hidden using CSS so that it will get picked up by search 'bots but not noticed by editors.
Another method that seems to work well is to ask a question that requires just a bit of comprehension before allowing an account. I wrote an extension for this... also, don't forget the Nuke extension. — Woozle
- MediaWiki documentation
- Wiki Spam: a detailed explanation of the problem
- Anti-spam Features: simple built-in regex blacklist
- SpamBlacklist extension: more powerful than the built-in regex blacklist. The README file explains most of it, but doesn't make it clear that there are two files you need to install: SpamBlacklist.php and SpamBlacklist_body.php
- Please feel free to make use of the spam blacklist on HypertWiki
- SpamFerret: in development