Are there more elegant and user friendly options to captcha out there? Not only do I find that the format of captcha really muddles up a site design, but often users have to refresh for a new one several times. Even then when it's input in what seems correct to the user, it might not be and they form refreshes telling them it was wrong.
Besides math- and image- captchas there is a rather new approach from google that recently made its rounds through various newsletters. They call it "reCAPTCHA" and its based on the idea of seperating bots from humans by a single click.
While I still don't know much about it myself yet I still hope that this approach will some day make it to the real world developers. One-Click-Captcha just sounds too good to be true.
You can find a full documentation on that project on google's project page: https://www.google.com/recaptcha/intro/index.html
Google have RECAPTCHA the idea being you check a tick box and this verifies you as human.
Using small games to confirm a human identity could be used, however this is said to make a site feel more unprofessional on a website not targeted at a younger audience.
Asking the user a question and a correct answer validates the user.
There is a really nice article here which goes into greater detail.
Ideally, using a honeypot would be best for the user as you are not asking them to prove they are human, providing an inconvenience. Honeypots work by including something extra in the code that only the bot would see, for example, a hidden form field. A human user would not see a hidden form field but a bot would as they would read the code. As with anything there is a weakness and like CAPTCHA solutions it is in accessibility, those using screen readers may find that they fill out the hidden form and are rejected. This could be worked around by providing another test which is accessible.
Captchas have a series of issues when it comes to usability. to name a few ; They interrupt the user’s workflow and they are inaccessable to people with visual disabilities they are also hard to decipher in normal circumstances. so here is my suggestion:
Ask the user a simple question or a couple of generic questions, for example what is your favourite colour? the user will then type his answer. check for the speed by which the user typed their answer to ensure that they are human. hope that helps
There is a growing trend of using keystroke dynamics to authenticate users before granting access. you might find this article interesting.
I don't know how relevant it is to your situation, but I'd just like to share my CAPTCHA solution.
There is no CAPTCHA on registration. Instead, users are required to play a little bit of the game that they have signed up for, before they will be allowed to send message and post on the forums.
This means that anyone wishing to bot their way onto the site will have to build a custom-tailored bot capable of playing a game up to a certain point in the tutorial. If they're willing to invest that much effort in specifically targeting my site, then a CAPTCHA wouldn't do much good anyway because sitting there and solving a bunch of them would be easier than botting the game enough.
This is, of course, circumstantial. It would not be appropriate for a simple "comment on a blog" kind of CAPTCHA, but it is exceptionally powerful in my case.