Gaptcha
A GNU spirited Libre Captcha
Dependencies : JQuery, JQuery-UI
Logic : There are 2 things which pose difficulties for bots. Number of actions available, only 4 here yet and the context of the question.
User Guide :
- Clone this repo.
- Ensure you have jquery.min.js, jquery-ui.min.css, jquery-ui.min.js and images in your static folder
- Ensure style attributes don't clash with your own styles.
- From gaptcha.html, copy head contents to your head and body to your body. [Don't trust us. Check that there's no backdoor in them.]
- Create a div with id="gaptcha" where your final form element will be.
- Extract form value and check the answer at your backend.
- Give a star to gaptcha if you found it useful!
Troubleshooting :
- Ensure your static files are linked correctly and you have jquery before jquery-ui
Contributing :
- You can contribute by adding more instances of the captcha which include:
- A set of images (Should be similar to each other in properties and different for the user)
- Answer
- Question posed to the user (Should be a no-brainer)
Guide to framing the question:
The question must be something contextual like "Drag the actor of movie Titanic to the box". This makes things difficult 2-fold for a bot. First, finding the actor, recognizing the image("always keep colored images") and dragging the respective image to the box.
Guide to selecting images:
Image classification is almost a solved task. Due to this, one should prevent having only a single image with high similarity to the words in question.
Future Goals:
- Having more questions and answers so that users can choose on random from backend.
- Removing jquery dependency and making it in javascript. (Improbable as I hate javascript)