Prevent people from registering via your comment moderation blacklist.
We've all had this problem. A group of spammers from mail.ru are registering to your blog, but you want to keep registration open. How do you kill the spammers without bothering your clientele? While you could edit your
functions.php and block the domain, once you get past a few bad eggs, you have to escalate.
Ban Hammer does that for you by preventing unwanted users from registering.
On a single install of WP, instead of using its own database table, Ban Hammer pulls from your list of blacklisted emails from the Comment Blacklist feature, native to WordPress. Since emails never equal IP addresses, it simply skips over and ignores them. On a network instance, there's a network wide setting for banned emails and domains. This means you only have one place to update and maintain your blacklist. When a blacklisted user attempts to register, they get a customizable message that they cannot register.
Ban Hammer no longer uses Stop Forum Spam. Stop Spammer Registrations did it so much better, I bow to their genius.
Ban Hammer is a very weird fork of Philippe Paquet's No Disposable Email plugin. The original plugin was a straight forward .dat file that listed all the bad emails (generally ones like mailinator that are disposable) and while Ban Hammer doesn't do that, this would not have been possible without that which was done before.
Many thanks are due to WP-Deadbolt, for making me think about SQL and TTC for StopForumSpam integration. MASSIVE credit to Travis Hamera for the StopForumSpam/cURL fix! And then props to Helen Hou-Sandi for not using curl at all. Protip? Use WP_http instead!