YMATE-MODULE-CAPTCHA
Основывающийся на YMP фреймворк, модуль для реализации капчи (captcha), поддерживающий три типа проверки: картинка, электронная почта и SMS.
@VCaptcha
для проверки, простота настройки и гибкость.<dependency>
<groupId>net.ymate.module</groupId>
<artifactId>ymate-module-captcha</artifactId>
<version>2.0.0</version>
</dependency>
#-------------------------------------
# module.captcha 模块初始化参数
#-------------------------------------
# 是否 активировать модуль капчи (отключение игнорирует все параметры проверки капчи), значение по умолчанию: true
ymp.configs.module.captcha.enabled=
# включить режим отладки (в этом режиме код не отправляется через SMS, а выводится на консоль), значение по умолчанию: false
ymp.configs.module.captcha.dev_mode=
# активировать тип капчи, допустимые значения: ALL|DEFAULT|SMS|MAIL, значение по умолчанию: ALL
ymp.configs.module.captcha.captcha_types=
# класс провайдера модуля капчи, значение по умолчанию: net.ymate.module.captcha.impl.DefaultCaptchaProvider
ymp.configs.module.captcha.provider_class=
# пользовательский класс генератора токенов, значение по умолчанию пустое
ymp.configs.module.captcha.token_generator_class=
# класс адаптера хранилища капчи, значение по умолчанию: net.ymate.module.captcha.impl.DefaultCaptchaStorageAdapter
ymp.configs.module.captcha.storage_adapter_class=
# обработчик расширения области действия, обязательный при активации учёта ошибок, значение по умолчанию пустое
ymp.configs.module.captcha.scope_processor_class=
# провайдер отправки SMS или электронной почты, значение по умолчанию: net.ymate.module.captcha.impl.DefaultCaptchaSendProvider
ymp.configs.module.captcha.send_provider_class=
# установить лимит ошибок перед активацией капчи, значение по умолчанию 0 (капча не активируется при достижении лимита ошибок)
ymp.configs.module.captcha.need_captcha_wrong_times=
# префикс имени кэша, значение по умолчанию пустое
ymp.configs.module.captcha.cache_name_prefix=
# минимальная длина токена капчи, значение по умолчанию 4
ymp.configs.module.captcha.token_length_min=
# время ожидания токена, в секундах, значение по умолчанию пустое или меньше или равно 0, что означает отсутствие ограничения
ymp.configs.module.captcha.token_timeout=
# префикс запроса службы по умолчанию (не допускается начало или конец с '/'), значение по умолчанию пустое
ymp.configs.module.captcha.service_prefix=
# зарегистрировать службу по умолчанию, значение по умолчанию false
ymp.configs.module.captcha.service_enabled=
# высота, значение по умолчанию 70px
ymp.configs.module.captcha.height=
# ширина, значение по умолчанию 200px
ymp.configs.module.captcha.width=
# цвета переднего плана, значения RGB, например: 0,0,0|1,2,3, несколько цветов разделяются '|', значение по умолчанию случайное
ymp.configs.module.captcha.foregrounds=
# цвет фона, значение RGB, по умолчанию 255,255,255
ymp.configs.module.captcha.background=
# качество, возможные значения: min|default|max, значение по умолчанию max
ymp.configs.module.captcha.quality=
# коэффициент сжатия, значение от 0 до 1, значение по умолчанию пустое
ymp.configs.module.captcha.compress_ratio=
# формат изображения, возможные значения: png|jpeg, значение по умолчанию jpeg
ymp.configs.module.captcha.format=
# анализатор шрифтов капчи, класс анализатора, значение по умолчанию net.ymate.module.captcha.impl.DefaultCaptchaFontsParser
# если вы хотите загрузить шрифты из указанного файла, используйте: net.ymate.module.captcha.impl.FileCaptchaFontsParser
# или реализуйте интерфейс net.ymate.module.captcha.ICaptchaFontsParser для настройки способа загрузки
ymp.configs.module.captcha.fonts_parser_class=
# настраиваемые шрифты, параметры, формат: [имя шрифта:SansSerif],[стиль шрифта:plain|bold|italic], несколько шрифтов разделяются '|', значение по умолчанию случайно
# когда анализатор пользовательских шрифтов загружается из файла, формат конфигурации: [формат шрифта:type1|truetype],[стиль шрифта:plain|bold|italic],<путь к файлу:${root}/fonts/SansSerif.ttf>, несколько шрифтов разделяются '|'
ymp.configs.module.captcha.fonts=
# параметры эффекта изображения: масштабирование, диапазон значений: [0-1, 0-1], значение по умолчанию: 1,1
ymp.configs.module.captcha.effect.scale=
# параметры эффекта изображения: волны, значение по умолчанию true
ymp.configs.module.captcha.effect.ripple=
# параметры эффекта изображения: размытие, значение по умолчанию true
ymp.configs.module.captcha.effect.blur=
# параметры эффекта изображения: контур, значение по умолчанию false
ymp.configs.module.captcha.effect.outline=
# параметры эффекта изображения: вращение, значение по умолчанию true
ymp.configs.module.captcha.effect.rotate=
В среде Web, если service_enabled = true
, модуль будет регистрировать контроллер капчи по умолчанию во время инициализации. Контроллер предоставляет следующие интерфейсы:
http://<ваш домен>/captcha?scope=<SCOPE>&type=<TYPE>
Параметры:
data|json
, выводит изображение в кодировке Base64, необязательный параметр.http://<ваш домен>/captcha/sms_code?scope=<SCOPE>&mobile=<MOBILE>&captcha=<CAPTCHA>
Параметры:
http://<ваш домен>/captcha?scope=<SCOPE>
.
Ответ:{ret: 0}
http://<ваше_доменное_имя>/captcha/mail_code?scope=<SCOPE>&email=<EMAIL>&captcha=<CAPTCHA>
Описание параметров:
http://<ваше_доменное_имя>/captcha?scope=<SCOPE>
).Возвращаемое значение:
{ret: 0}
http://<ваше_доменное_name>/captcha/match?scope=<SCOPE>&token=<TOKEN>&target=<TARGET>
Описание параметров:
Возвращаемое значение:
{ret: 0, matched: true|false}
@VCaptcha
для проверочных кодов@RequestMapping(value = "/login", method = Type.HttpMethod.POST)
public IView login(@VCaptcha(invalid = true)
@RequestParam String captcha, // проверочный код
@VRequired
@VMobile
@RequestParam String mobile, // номер мобильного телефона
@VRequired
@RequestParam String scope, // идентификатор области действия для проверочного кода в виде SMS
@VRequired
@VCaptcha(type = ICaptcha.Type.MAIL, scopeName = "scope", targetName="mobile")
@RequestParam String smscode, // проверочный код в виде SMS
@VRequired
@RequestParam String passwd, // пароль для входа
@RequestParam(Optional.REDIRECT_URL) String redirectUrl) throws Exception {
// ...... опущено
return WebResult.success().toJsonView();
}
// Создание проверочного кода с областью действия user.login.xxx
String code = Captcha.get().generate("user.login.xxx");
// Уничтожение проверочного кода с областью действия user.login.xxx
Captcha.get().invalidate("user.login.xxx");
// Проверка того, включена ли поддержка пропуска проверки
Captcha.get().isWrongTimesEnabled();
// Определение того, можно ли пропустить проверку для проверочного кода по умолчанию с областью действия user.login.xxx
Captcha.get().isValidationNeedSkip(ICaptcha.Type.DEFAULT, "user.login.xxx");
// Сброс счётчика ошибок для проверочного кода по умолчанию с областью действия user.login.xxx
Captcha.get().resetWrongTimes(ICaptcha.Type.DEFAULT, "user.login.xxx");
// Проверка соответствия проверочного кода с областью действия user.login.xxx и его последующее отключение
Captcha.get().validate("user.login.xxx", code, true);
YMP не только предоставляет удобный опыт быстрой разработки для веб-проектов и других проектов на Java, но и постоянно предлагает более богатый опыт реализации проектов.
Заинтересованные друзья могут присоединиться к официальному QQ-чату: 480374360, чтобы общаться и учиться вместе, помогая YMP расти!
Если вам нравится YMP, мы надеемся получить вашу поддержку и поощрение!
Чтобы узнать больше о фреймворке YMP, посетите официальный сайт: https://ymate.net.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )