About
Overview
visualCaptcha is the easiest to implement secure Captcha with images instead of text and drag & drop capabilities (and mobile-friendly).
Why a Drag & Drop Captcha?
Captcha is a great thing, it makes it more difficult (hopefully impossible) for robots to submit forms "blindly", creating/sending junk to mails/databases.
However, through time, we've become more and more aware it doesn't work as expected. It difficults communication, and as such, people often make mistakes in the common Captcha forms, making it sometimes a reason for giving up filling a form (specially when the form is big and it doesn't refill the sent information).
So, we thought: "wouldn't it be great to find a way to make a Captcha work better for humans and still be impossible to be submitted automatically by bots?"
We found a great concept for this answer at Ajax Fancy Captcha - jQuery Plugin, but also found in it a few bugs and easy ways for bots to "learn" how to bypass it. As there was nothing really good and innovative as we wanted it, we built our own!
Accessible? What do you mean?
We are concerned about people with accessibility issues. Bu we also thrive for security.
We are not aware of any other "visual" captchas that have any sort of accessibility, and the "normal" captchas that do, end up compromising security or making it very difficult to understand what is spoken by the scripts (revolving back to the original Captcha problems).
Being innovators as we are, we wanted to implement an accessibility feature that wouldn't compromise security, while making it easy and clear to understand what's spoken by the script. And that's what we did!
How To Use
Requirements
For the script to work, PHP (5.3+ tested), jQuery (1.8+ tested) with jQuery UI (1.9+ tested) is required, as well as visualCaptcha's files and the images in images/visualCaptcha/* (which can be changed to whatever you want).
Usage
We have it prepared to be setup in an Horizontal or Vertical way (css changes and the number of images showing). Type 0 is Horizontal and 1 is Vertical. By default, Horizontal is applied, so if you want to show it vertically, you can use:
printCaptcha('frm_sample',1);
The sample is in English (for distribution reasons), but the strings and images are easily changed, so you can change it to your own language, or implement multi-language without hassle.
WordPress
If you want to use visualCaptcha on a WordPress installation, it's very easy as we've got a visualCaptcha WordPress plugin available.
Support
If you need help, you can reach us on Twitter or by email at hello@emotionloop.com.
More
Thanks To/Sources:
Dean Edward's PHP Javascript Packer (javascript obfuscator)
iconSweets2 Pack (by Yummygum) (images to drag)
Ajax Fancy Captcha - jQuery Plugin (initial concept)
MediaLoot.com (Responsive Screen Mockup Pack PSD)
StuffThatSpins (Audio Generator, using Google Translate TTS)
License
visualCaptcha by emotionLoop is licensed under a GNU GPL v3 License. You can reach us if you want other licenses.
Updates
- Released stable version 4.0.3 (converting all the audio answers to non case sesitive)
- Released stable version 4.0.2 (Now working in Opera, Opera Mini, and Android default browser for Android < 4.0. Also, the license is now GNU GPL v3.)
- Released visualCaptcha plugin for WordPress.
- Released stable version 4.0.1 (fixing an issue where .ogg files wouldn't load for Opera or Firefox)
- Released stable version 4.0 (now with Accessibility features & Retina-ready. Code rewritten & improved — PHP, JS, HTML and CSS —, now compatible with jQuery 1.8 and jQuery UI 1.9. New images and design)
- Released stable version 3.0 (name changed from wCaptcha to visualCaptcha, made code compatible with jQuery 1.7, improved code readability, organization, new images and design, including the dropzone Fireworks PNG image)
- Released stable version 2.1 (now you can drag out and in options without needing to refresh).
- Released stable version 2.0 (improved security and support for mobile devices, using tap/touch).
- Released stable version 1.2 (different file organization - more easy to customize - and optional license with 1 year of support).
- Released stable version 1.1 with improved security.
- Released stable version 1.0.