PmWiki is a wiki engine written in PHP using flat file storage. It is fairly mature, with an active development community:
It shows content within the 'Page History' pages. On a heavily spammed page this takes ages to load, and it's difficult to spot the real content.
Pmwiki seems to be quite flexible regarding user editability of headers, footers, and sidebar elements. Although this could be highly advantageous, it has meant that some installations have had their layout completely screwed up by spam. So a good tip for cleaning up these wikis, is to start with these special pages: 'SideBar', 'RecentChanges', 'SearchWiki', 'EditQuickReference', . For those last two, if necessary copy original versions of these pages from the PmWiki homepage.
For 'RecentChanges' when you click edit, it actually includes lines from the recent changes in the textbox. We are investigating what the logic is behind this. It seems bizarre. Perhaps it is intended as an odd feature, but if so, then we have to wonder whether they have thought about abuse of this feature.
When de-spamming, perhaps the best thing to do is delete everything from the recent changes page (if it has been spammed) so that it starts afresh. It seems that the software allows spammers to hide their abusive edits in this way. In truth it's unlikely a spammer is smart enough to think of this, but if they spam the recent changes page, replacing the contents, as part of their spam run, then any edits they made before that, seem to be off the record.
Can the pmWiki developers give any feedback about this?
ContentBanning is available as a patch. See Cookbook/Blocklist. We recommend you follow these instructions, including edit-protecting your 'Main.Blocklist' page. Note you'll need to populate the Blocklist page with the text of the banned content itself, not with perl regular expressions (blacklist standard discussed elsewhere on this site)
Update: The MTBlackList Cookbook uses the Movable Type AND chongqed.org block list if installed.
You could try the UrlApprovals patch, which is a URL whitelist, and approval system. For active wiki's, this is a bit too heavy handed, but if you're struggling to keep out the spam, it could be a good approach.
See also the general AntiSpamRecommendations
…