How to deal with human spammers?
Using Jamroom
I use two methods that work together:
1) I have my site set that an Admin has to APPROVE a new member before they become active. This allows me to: check their IP address (which is shown in the 'new member' email notification I receive, check it against their claimed location- easy to find free online IP checkers)...and I can also check their answers to the application questions I've set up.
2) I've added a few questions that the applicant must answer. One or two generic questions like "what color is milk?" or "What month comes before September?"....and a couple of questions that require a thoughtful site-related answer, like in my site's case: "Describe your interest in music or dulcimer playing" and "Name two of your favorite songs" and "What material are most dulcimers made of?"- (with a multiple choice of: straw, wood, sand, glass, brass, clay, fabric.... the answer being wood of course. )
I have found that most legitimate folks can answer these questions pretty easily and I get very few complaints about having to answer the 7 or so profile questions, but spammers struggle with the questions OR they don't want to compose sentences describing their interests related to my site's subject, nor will they bother when they know they'll have to be approved first.
Using the above method, I get maybe ONE spam applicant every two months... and they are easily identified from their answers and their IP address...and banned.
It's very rare, but once in a great while I get a spammer applicant who goes to the trouble of answering everything logically...but then their IP address gives them away- they list their location in Boston MA but their IP says they're in Nigeria. Buh-bye!
When banning, if I get an obvious spammer from some exotic place like Sri Lanka and if their IP address is something like 81.224.11.166 (i just made that up), then I don't ban that specific IP, I ban the RANGE for that area so it catches any small IP variations as well. I would then ban this: 81.224 (without a period at the end) and that would activate a ban including anything even starting with that whole region.
Note- You wouldn't want to do this for an IP in a region like Melbourne Australia or Dallas Texas because the odds are you might get some legit applicants from that region.
In summary, every time i get a new member applying, I first do a quick (bookmarked) IP location check, at the same time I glance to see if their email address is suspicious, then I briefly look over their answers to the questions I've set up. All this takes about 15 seconds, after which I approve them if all seems ok. Doing this means I have not had a single spammer post anything on my site in ...years.