Перевод текста на русский язык:
Генерация 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);
});
svgCaptcha.create(options)
Если опция не передана, вы получите случайную строку из четырёх символов и соответствующий SVG.
size
: 4 // размер случайной строкиignoreChars
: '0o1i' // отфильтровать некоторые символы, такие как 0o1inoise
: 1 // количество шумовых линийcolor
: true // символы будут иметь разные цвета вместо серого, true, если установлена опция backgroundbackground
: '#cc9966' // цвет фона изображения SVGЭта функция возвращает объект со следующим свойством:
data
: string // данные пути SVGtext
: 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(), чтобы сэкономить несколько нажатий клавиш ;).
Изображение капчи по умолчанию:
Изображение математического выражения с параметрами цвета:
Он не требует никакого 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-капча выполнила свою работу — усложнила распознавание капчи.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )