Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
algebraic-captcha
Advanced tools
Generate CAPTCHA from algebraic equation
Install package as yet another npm package:
npm install algebraic-captcha
Also yarn package manager can be used:
yarn add algebraic-captcha
Simple example.
const {AlgebraicCaptcha} = require('algebraic-captcha');
async function generateCaptcha() {
const algebraicCaptcha = new AlgebraicCaptcha({
width: 200,
height: 200,
background: '#ffffff',
noise: 1,
minValue: 1,
maxValue: 10,
operandAmount: 1,
operandTypes: ['+', '-'],
mode: 'formula',
targetSymbol: '?'
});
const {image, answer} = await algebraicCaptcha.generateCaptcha();
}
Here:
answer
- is numeric answer for given equation (10 for this case).image
- svg image string
Using inside express middleware.
const express = require('express');
const session = require('express-session');
const {AlgebraicCaptcha} = require('algebraic-captcha');
const app = express();
const algebraicCaptcha = new AlgebraicCaptcha({});
app.use(session({secret: 'my awesome session', resave: true}));
app.get('/captcha', async (req, res) => {
const {image, answer} = await algebraicCaptcha.generateCaptcha();
req.session.captcha = answer;
res.writeHead(200, {'Content-Type': 'image/svg+xml'});
res.end(image);
});
app.listen(3000);
Available options:
width
.Width of generated image in pixels
height
Height of generated image in pixels
minValue
Min operand value used in equation
maxValue
Max operand value used in equation
background
Background color of captcha image
noise
Number of noise lines
operandAmount
Number of equation operations
operandTypes
Array of used math operators
mode
Can have two available values: formula
, equation
In formula
mode anwer placeholder will be put to the last position of generated string, such as:
5 + 2 = ?
In equation
mode answer placeholder will be put on random operand position except last:
5 + ? = 7 //(or ? + 2 = 7)
targetSymbol
Symbol which is used as placeholder for answer
Clone repository or its fork to local filesystem
git clone https://github.com/tormozz48/algebraic-captcha.git
Install npm dependencies:
npm install
Here are some suitable commands that can be used during development:
npm run build
- compile typescript filesnpm run lint
- run tslint verification toolnpm test
- run tests with mochanpm run watch
- launch watcher for compile source files during developmentImportant Use command npm run cm
for commit your changes instead of git commit
.
Apache-2.0
Bugs, PRs, comments, suggestions welcomed!
Maintainer: Andrey Kuznetsov
FAQs
NodeJS math captcha package with algebraic formulas
The npm package algebraic-captcha receives a total of 38 weekly downloads. As such, algebraic-captcha popularity was classified as not popular.
We found that algebraic-captcha demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.