Spammers aren't being stopped by my CAPTCHA. What else can I use?
You could try requiring e-mail confirmation, if you haven't already. If they're using humans to break the CAPTCHA there isn't a lot you can do -- there's no difference from your site's point of view between users signing up because they want to and users signing up because they're being paid to.
If they're posting spam, you should probably look into detecting that instead of trying to lock them out at the login level -- Blogabond did an article a little while ago about how they detect and deal with spam posts
If they are humans, they will always be able to break the CAPTCHA. Try to detect the spam messages themselves.
Of course, the only real defense against human services is human services - someone will have to monitor the single posts.
not a direct CAPTCHA alternative but What I did was to rename and add bunch of form elements named suggestively to fool the bots ..
e.g.
subject, name, URL that way it was really easy to spot the fake users and remove.. We ended up redirecting thebots to a fake confirmed message..
this cut down bots by roughly 90%
good luck!
Is your spam in comments? You may get some headway using mollom's spam and captcha service.
I haven't used this yet, however I have the perception it's quite effective.
Could you try posing random simple questions that normal users can enter?
Such as a simple math question, "What is 2 plus 2 divided by 2?"
or maybe something as easy as "What are the first 3 letters in the word: CARRIAGE?"
I have never seen such approaches widely used, but they should be straight forward enough to be easily answered.
You could have 5 different images showed.
You could ask to our user which on is a cat, a ladder, a car..
You could have 100 images in your bank and display 5 of them dynamically.
Some methods to stop spam:
- Ask a question only a human would be able to answer
- Limit signups/posts to a certain amount per IP address
- Use a better captcha, for example recaptcha.
- Use email confirmation
- Make your forms more dynamic (ie. the variables change each time)
I'm willing to bet that it's not the CAPTCHA rather your implementation of it that needs to be reconsidered. Have you...
- ... tried to post/spam without entering the CAPTCHA?
- ... really tried to break this? Can I go to your site, enter a CAPTCHA, get to the posting page, do a post, bookmark that URL... then mail said URL to a complete stranger (so far as your site is concerned) and have them post without entering the CAPTCHA?
- ... considered that it might be a human posting spam?
- ... when you whitelist after the user successfully enters the CAPTCHA, do you whitelist the session (right!) or the IP address (wrong!)?
Most CAPTCHA's have been broken ( see PWNtcha ). You can use an API like the one at www.atlbl.com that should catch web spammers etc.