I own a BuddyPress site, and so I know how many spam user registrations I get in a day. I had tried multiple anti-spam plugins, but the multitude are specific to stopping comment spam, not user spam.
I found one plugin which I liked the idea of: BuddyPress Humanity adds a question to the BuddyPress registration form which you need to set and change from the WordPress dashboard. I thought that the idea of adding a simple question or maths sum to the signup form was a great idea, but I didn’t want to go and change it every day.
That’s why I wrote BuddyPress Security Check, which requires users to answer simple maths sum adding or subtracting two randomly generated numbers between 0 and 10 inclusive. The code that handles adding the question to the form and validating it is based on that of BuddyPress Humanity, but the rest is completely rewritten.
Following my own personal practices and philosophy of writing plugins, BuddyPress Security Check has no options page, requires no configuration, and does not store any values in the database. Activate the plugin when it is needed; deactivate it when it is not.
I’ve used this plugin on my BuddyPress site since it was written and have received virtually no spam users in that time. @magichew on Twitter reports similar success: