A GNU spirited Libre Captcha

sagaracharya 89b0f547cd added demo link for gaptcha 3 years ago
images 87168cc508 compressed images and added movability 3 years ago
vanillajs 55bf88eb98 added README and streamlined for ease of users 3 years ago
LICENSE b0c6afee87 changed license from AGPL to Apache 3 years ago
README.md 89b0f547cd added demo link for gaptcha 3 years ago
gaptcha.html b0c6afee87 changed license from AGPL to Apache 3 years ago
jquery-ui.min.css 04498973d4 added jquery ui, corrected object placing and boxes 3 years ago
jquery-ui.min.js 04498973d4 added jquery ui, corrected object placing and boxes 3 years ago
jquery.min.js 04498973d4 added jquery ui, corrected object placing and boxes 3 years ago

README.md

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.

Demonstration at : [https://caissalover.github.io/gaptcha]

User Guide :

  1. Clone this repo.
  2. Ensure you have jquery.min.js, jquery-ui.min.css, jquery-ui.min.js and images in your static folder
  3. Ensure style attributes don't clash with your own styles.
  4. 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 the code.)
  5. Create a div with id="gaptcha" where your final form element will be.
  6. Extract form value and check the answer at your backend.
  7. Give a star to gaptcha if you found it useful!

Troubleshooting :

  1. Ensure your static files are linked correctly and you have jquery before jquery-ui

Contributing :

  1. 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:

  1. Having more questions and answers so that users can choose on random from backend.
  2. Removing jquery dependency and making it in javascript. (Improbable as I hate javascript)