YMP-Captcha 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
YMP-Captcha 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

Captcha

基于YMP框架实现的验证码模块,支持图片、邮件和短信三种验证类型,采用@VCaptcha注解方式进行验证,配置简单、灵活,可自定义扩展;

Maven包依赖


    net.ymate.module
    ymate-module-captcha
    1.0-SNAPSHOT

搭建模块工程

  • 首先,你需要创建一个基于YMPv2框架的JavaWeb工程项目;(如何快速搭建工程?

  • YMP框架扫描包路径要包含net.ymate.module.captcha, 调整配置如下:

      # 框架自动扫描的包路径集合,多个包名之间用'|'分隔,默认已包含net.ymate.platform包,其子包也将被扫描
      ymp.autoscan_packages=net.ymate
    

: 推荐将YMP框架更新至最新(Maven中央库发布的版本较缓), 请前往下载最新代码

使用方法说明

  • 获取验证码图片

      http://<你的域名>/captcha?tokenId=&type=
    

    tokenId:令牌标识ID, 用于区分不同客户端及数据存储范围,相同令牌ID间仅存在唯一验证码,可选参数;

    type:仅当type=1时采用Base64编码输出图片,可选参数;

  • 发送短信验证码

      http://<你的域名>/captcha/sms_code?tokenId=&mobile=
    

    tokenId:令牌标识ID, 采用sms作为前缀,区别于图片验证码,可选参数;

    mobile:手机号码,必选参数;

    返回值说明:

      {ret: 0, msg: "..."}
    
    • ret=0 表示发送成功
    • ret=-1 表示参数验证错误
    • ret=-6 表示发送频率过快或其它消息
    • ret=-50 表示发送异常
  • 发送邮件验证码

      http://<你的域名>/captcha/mail_code?tokenId=&email=
    

    tokenId:令牌标识ID, 采用mail作为前缀,区别于图片验证码,可选参数;

    email:邮件地址,必选参数;

    返回值说明:

      {ret: 0, msg: "..."}
    
    • ret=0 表示发送成功
    • ret=-1 表示参数验证错误
    • ret=-6 表示发送频率过快或其它消息
    • ret=-50 表示发送异常
  • 检查验证码是否合法

      http://<你的域名>/captcha/match?tokenId=&token=
    

    tokenId:令牌标识ID, 可选参数;

    token:预验证的令牌值,必选参数;

    返回值:

      {ret: 0, matched: true|false}
    

模块配置参数说明

#-------------------------------------
# module.captcha 模块初始化参数
#-------------------------------------

# 是否开启调试模式(调试模式下控制台将输出生成的验证码, 同时短信验证码也不会被真正发送), 默认值: false
ymp.configs.module.captcha.dev_mode=

# 验证码服务提供者类, 默认值: net.ymate.module.captcha.impl.DefaultCaptchaProvider
ymp.configs.module.captcha.provider_class=

# 验证码存储适配器类, 默认值: net.ymate.module.captcha.impl.DefaultCaptchaStorageAdapter
ymp.configs.module.captcha.storage_adapter_class=

# 身份令牌标识扩展处理器, 默认值: 空
ymp.configs.module.captcha.token_processor_class=

# 邮件验证码发送服务提供者类, 默认值: 空
ymp.configs.module.captcha.mail_send_provider_class=

# 相同令牌标识范围的邮件验证码重复发送的是时间间隔(秒), 默认值: 300秒
ymp.configs.module.captcha.mail_send_time_interval=

# 手机短信验证码发送服务提供者类, 默认值: 空
ymp.configs.module.captcha.sms_send_provider_class=

# 手机短信验证码内容模板, 默认值: ${captcha}
ymp.configs.module.captcha.sms_content_template=

# 相同令牌标识范围的短信验证码重复发送的是时间间隔(秒), 默认值: 120秒
ymp.configs.module.captcha.sms_send_time_interval=

# 设置在达到指定错误次数上限后开启验证码, 默认值: 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=

# 高度, 默认: 70px
ymp.configs.module.captcha.height=

# 宽度, 默认: 200px
ymp.configs.module.captcha.width=

# 前景色, RGB值, 如: 0,0,0|1,2,3, 多个颜色用'|'分隔, 默认: 随机
ymp.configs.module.captcha.foregrounds=

# 背景色, RBG值, 默认: 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=

# 自定义字体, 可选参数, 如: SansSerif,plain|Serif,bold|Monospaced,plain, 多个字体用'|'分隔, 默认: 随机
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.ratale=

One More Thing

YMP不仅提供便捷的Web及其它Java项目的快速开发体验,也将不断提供更多丰富的项目实践经验。

感兴趣的小伙伴儿们可以加入 官方QQ群480374360,一起交流学习,帮助YMP成长!

了解更多有关YMP框架的内容,请访问官网:http://www.ymate.net/

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2014/07/01 09:58

YMP框架学习笔记(一)------Maven部署与YMP框架签出

最近开始系统化学习YMP框架,学习笔记将以博客形式连载更新! 本篇笔记内容:Maven部署与YMP框架签出过程

1
1
发表了博客
2013/03/16 10:12

验证码CAPTCHA

Captcha http://baike.baidu.com/view/538168.htm EXIF http://baike.baidu.com/view/22006.htm

0
0
发表了博客
2019/02/14 12:44

CAPTCHA--验证码

验证码开发有两种方法: 1.自己用代码画一个 2.调用ValidateCode.jar工具包 第一种方式: 创建一个动态web工程 编写一个Servlet,在该Servlet内进行如下操作 验证码开发步骤: 1.在内存中创建一个图片对象 1 int width = 110; 2 int height = 25; 3 // 在内存中创建一个图片对象 4 ...

0
0
发表于服务端专区
2016/02/23 11:45

YMP开发框架快速上手(二)— JavaWeb工程中集成YMP框架

YMP是一个非常简单、易用的一套轻量级JAVA应用开发框架,设计原则主要侧重于简化工作任务、规范开发流程、提高开发效率。《YMP开发框架快速上手》系列文章将会不定时的陆续更新有关YMP框架的使用方法、阐述一些功能实现细节等,感兴趣的朋友可以一起交流、学习! 本文将介绍如何在Java Web工程中集成YMP框架。...

5
3
发表了博客
2014/07/01 13:52

YMP框架学习笔记(二)------基于YMP框架搭建WEB应用程序

基于YMP框架搭建WEB应用程序的步骤!

0
3
发表了博客
2019/07/28 13:24

django验证码captcha

官方文档 https://django-simple-captcha.readthedocs.io/en/latest/usage.html#installation 使用命令安装pip install django-simple-captcha==0.4.6 (==后面是版本号) 安装好之后添加到 settings.py中 把 url(r'^captcha/', include('captcha.urls')),添加到项目的urls.py中,如下图 Run python manage.py migrate 如下...

0
0
发表了博客
2019/10/31 15:35

Laravel - 验证码(captcha)

首先,登录网址 packagist.org 查找 laravel captcha,找到mews/captcha ,根据 packagist 上的使用方法一步步来实现验证码的安装。配置composer.json文件 composer 安装:composer require mews/captcha 注册providers (config/app.php) ,在这个数组中的最后追加如下代码: Mews\Captcha\CaptchaServiceProvider::c...

0
0
发表了博客
2012/05/08 09:34

CAPTCHA技术服务

CAPTCHA:Completely Automated Public Turing test to tell Computers and Humans Apart.

0
0
2016/02/22 14:43

YMP开发框架快速上手(一)

YMP是一个非常简单、易用的一套轻量级JAVA应用开发框架,设计原则主要侧重于简化工作任务、规范开发流程、提高开发效率。《YMP开发框架快速上手》系列文章将会不定时的陆续更新有关YMP框架的使用方法、阐述一些功能实现细节等,感兴趣的朋友可以一起交流、学习!

2
33
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
2 收藏
分享
返回顶部
顶部