1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/steambap-svg-captcha

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Перевод текста на русский язык:

Генерация SVG-капчи в Node.js

Переводы

中文

Полезно, если вы:

— не можете или не хотите использовать Google ReCaptcha; — имеете проблемы с установкой C++ аддона.

Установка

npm install --save svg-captcha

Использование

var svgCaptcha = require('svg-captcha');

var captcha = svgCaptcha.create();
console.log(captcha);
// {data: '<svg.../svg>', text: 'abcd'}

С Express:

var svgCaptcha = require('svg-captcha');

app.get('/captcha', function (req, res) {
	var captcha = svgCaptcha.create();
	req.session.captcha = captcha.text;
	
	res.type('svg');
	res.status(200).send(captcha.data);
});

API

svgCaptcha.create(options)

Если опция не передана, вы получите случайную строку из четырёх символов и соответствующий SVG.

  • size: 4 // размер случайной строки
  • ignoreChars: '0o1i' // отфильтровать некоторые символы, такие как 0o1i
  • noise: 1 // количество шумовых линий
  • color: true // символы будут иметь разные цвета вместо серого, true, если установлена опция background
  • background: '#cc9966' // цвет фона изображения SVG

Эта функция возвращает объект со следующим свойством:

  • data: string // данные пути SVG
  • text: string // текст капчи

svgCaptcha.createMathExpr(options)

Аналогично create API, у вас есть те же опции и возвращаемое значение. Разница в том, что данные SVG будут представлять собой математическое уравнение на экране, а текст будет результатом этого уравнения в виде строки, в остальном использование такое же, как указано выше.

svgCaptcha.loadFont(url)

Загрузите собственный шрифт и замените шрифт по умолчанию.

  • url: string // путь к вашему шрифту Этот API является оболочкой вокруг loadFont API opentype.js. Возможно, вам потребуется поэкспериментировать с различными опциями, чтобы сделать свой собственный шрифт доступным. Смотрите следующий API.

svgCaptcha.options

Получите доступ к объекту глобальных настроек. Он используется для создания и createMathExpr API в качестве параметров по умолчанию.
Кроме размера, шума, цвета и фона, вы также можете установить следующее свойство:

  • width: number // ширина капчи
  • height: number // высота капчи
  • fontSize: number // размер текста капчи
  • charPreset: string // случайный набор символов

svgCaptcha.randomText([size|options])

вернуть случайную строку.

svgCaptcha(text, options)

вернуть капчу SVG на основе предоставленного текста.
В версии до 1.1.0 вам нужно было вызывать эти две функции, теперь вы можете вызвать create(), чтобы сэкономить несколько нажатий клавиш ;).

Образец изображения

Изображение капчи по умолчанию:

image

Изображение математического выражения с параметрами цвета:

image2

Зачем использовать SVG?

Он не требует никакого C++ дополнения. Результат изображения меньше, чем изображение JPEG.

Это должно быть шуткой. /<text.+>;.+</text>/g.test...

SVG-капча использует под собой opentype.js, что означает отсутствие '<text>1234</text>' Вы получаете '<path fill="#444" d="M104.83 19.74L107.85 19.74L112 33.56L116.13 19.74L119.15 19.74L113.48 36.85...' вместо.
Даже если вы можете написать программу, которая преобразует SVG в PNG, SVG-капча выполнила свою работу — усложнила распознавание капчи.

Лицензия

MIT

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Генерация SVG-формата проверочного кода в Node.js. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/steambap-svg-captcha.git
git@api.gitlife.ru:oschina-mirror/steambap-svg-captcha.git
oschina-mirror
steambap-svg-captcha
steambap-svg-captcha
master