/jet-captcha

Oracle JET - Gamified captcha web component. Using JSEcoins bot detection algorithm.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

JET/JSE Captcha

JSECOIN [THE FUTURE BLOCKCHAIN & ECOSYSTEM FOR ECOMMERCE AND DIGITAL ADVERTISING]

WARNING

We are still working on the interface and know there are still a number of bugs and cross browser issues - please be patient..

Overview

JET-Captcha is a webcomponent designed to be used with other Oracle JET projects - and provides first level of defence against automated bot requests.

JSEcoin servers provides the endpoint to query against to confirm the likelyhood of an automated request.

Server-side Verification

It is essential that you also check the captcha has been completed using server-side code to protect your endpoints. We do this using the clients IP address (IPV4) and the following URL:

https://api.jsecoin.com/captcha/check/:ipAddress/

Demo

JSE Captcha Demo.

Technology:

The webcomponent is a JET component that incorporates a Svelte JS amd compatible library https://github.com/JSEcoin/captcha which is used to build the interface.

DOM

<jet-captcha size="S" debug="true" theme="flat" captcha-server="" on-failed-captcha="[[fail]]" on-passed-captcha="[[success]]"></jet-captcha>

Attributes

  • size controls the UI display
    • 'S' - Small
    • 'M' - Medium
    • 'L' - Large
  • theme available themes
    • '' - dropshadow popup theme
    • 'flat' - flat simple theme
  • captchaServer only used by devs for testing tweaking server side algorithms.
  • debug only used by devs for testing tweaking server side algorithms.
    • false - Production
    • true - Disable interactive options
  • on-failed-captcha - Emitted if user passes captcha bot detection tests.
  • on-passed-captcha - Emitted if user fails captcha bot detection tests.

Event Response (JSON)

Success

{"rating":87,"pass":true, "ip":"148.252.129.187"}

Fail

{"rating":0,"pass":false, "ip":"148.252.129.187"}

Developers

Quickstart

  1. Install Node.js v8.0.0 or higher.
  2. Clone this repository: git clone https://github.com/JohnRSim/jet-captcha
  3. Install dependencies npm install
  4. launch sample project ojet serve

JET-composite location

/src/js/jet-composites/jet-captcha.

Contribute

If you'd like to assist and help the team please first review our Contribution Guidelines.

License

This project is under the GNU General Public License v3.0.