CN107451459A - 使用图片验证码进行验证的方法和装置 - Google Patents

使用图片验证码进行验证的方法和装置 Download PDF

Info

Publication number
CN107451459A
CN107451459A CN201610369988.8A CN201610369988A CN107451459A CN 107451459 A CN107451459 A CN 107451459A CN 201610369988 A CN201610369988 A CN 201610369988A CN 107451459 A CN107451459 A CN 107451459A
Authority
CN
China
Prior art keywords
regular
service request
validation code
picture
picture validation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610369988.8A
Other languages
English (en)
Inventor
李明程
何坚韧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610369988.8A priority Critical patent/CN107451459A/zh
Publication of CN107451459A publication Critical patent/CN107451459A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords

Abstract

提供一种使用图片验证码进行验证的方法,包括:根据业务请求的参数,生成业务请求的唯一识别码uuid;对业务请求进行识别,确定是否使用图片验证码;如是,根据所述唯一识别码uuid生成规则id,保存唯一识别码uuid和规则id键值对到缓存中;根据业务请求的uuid从缓存中读取规则id;以及利用与规则id相对应的图片验证码生成规则,生成图片验证码。本发明识别业务请求风险,拒绝高风险业务请求获取图片验证码并进行策略升级,动态配置图片验证码规则,并且利用海量规则仓库,防止恶意刷新图片验证码。

Description

使用图片验证码进行验证的方法和装置
技术领域
本发明涉及互联网技术领域,具体涉及使用图片验证码进行验证的方法和装置。
背景技术
随着互联网技术的高速发展,各种网络应用日益丰富。在给用户带来生活便利的同时,一些恶意用户却利用计算机技术和网站漏洞进行恶意操作并以此获利,例如论坛机器灌水、机器注册账号、暴力破解密码、黄牛恶意抢购等。目前基本所有互联网网站都有各种图片验证码来阻止这些恶意行为。图像技术的发展加上人工打码平台的出现,验证码也正面临诸多挑战。
静态图片验证码是目前应用最广的一类验证码,这类验证码要求用户输入验证码图片上所显示的文字或数字。目前广泛采用的是通过扭曲、变形、干扰等方法避免被光学字符识别(OCR,Optical CharacterRecognition)之类的电脑程序自动辨识出图片上的文字和数字。
现有技术中,服务器端随机生成验证码字符串,保存在内存中,并写入图片,发送给浏览器端显示,浏览器端输入验证码图片上字符,然后提交服务器端,提交的字符和服务器端保存的该字符比较是否一致,一致就继续,否则返回提示,阻止相关操作。
现有方案以便或多或少存在着以下缺点:没有防刷机制或者防刷机制不健全,导致恶意用户可以获得大量训练样本;验证码结构固定缺少变化或者太简单,容易被恶意用户建模识别;部分网站验证码由本地js生成并在本地用js验证,可以被程序绕过破解;验证码无过期时间,没有及时销毁会话导致验证码复用;产生验证码的问题集内答案有限,很容易被试出,等等。
发明内容
针对以上问题,本发明提出一种使用图片验证码进行验证的方法,包括:根据业务请求的参数,生成业务请求的唯一识别码uuid;对业务请求进行识别,确定是否使用图片验证码;如是,根据所述唯一识别码uuid生成规则id,保存唯一识别码uuid和规则id键值对到缓存中;根据业务请求的uuid从缓存中读取规则id;以及利用与规则id相对应的图片验证码生成规则,生成图片验证码。
本发明还提出一种使用图片验证码进行验证的装置,包括:uuid生成模块,被配置为根据业务请求的参数,生成业务请求的唯一识别码uuid;策略确定模块,被配置为对业务请求进行识别,确定是否使用图片验证码;规则id生成模块,被配置为根据所述唯一识别码uuid生成规则id,保存唯一识别码uuid和规则id键值对到缓存中;规则id读取模块,被配置为根据业务请求的uuid从缓存中读取规则id;以及图片验证码生成模块,被配置为利用与规则id相对应的图片验证码生成规则,生成图片验证码。
本发明识别业务请求风险,拒绝高风险业务请求获取图片验证码并进行策略升级,动态配置图片验证码规则,并且利用海量规则仓库,防止恶意刷新图片验证码。
附图说明
附图用于更好地理解本发明,不构成对本发明的限定。
图1示出了根据本发明实施例的策略管理流程的流程图。
图2示出了根据本发明实施例的图片验证码生成流程的流程图。
图3示出了根据示例实施例的规则仓库的示意图。
图4示出了根据本发明实施例的使用图片验证码进行验证的方法。
图5示出了根据本发明实施例的使用图片验证码进行验证的装置。
具体实施方式
以下结合附图对本发明的示例性实施例做出说明,其中包括本发明实施例的各种细节以有助于理解,应当将它们认为仅仅是示例性的。因此,本领域的技术人员应当认识到,可对本文描述的实施例做出各种修改和改变,而不脱离本发明的范围和精神。同样为了清楚和简明,以下描述中省略了对公知功能和结构的描述。
根据本发明实施例的使用图片验证码进行验证的主要流程主要分为两大流程:策略管理流程和图片验证码生成流程。
图1示出了根据本发明实施例策略管理流程100的流程图。
策略管理流程100:用户从访问具体的业务开始,例如用户希望从获取购物优惠券,后台获取用户发起业务请求的关键参数并生成业务请求的唯一标识码uuid(Universally Unique Identifier),作为整个验证流程的起始。关键参数可以是业务系统id、登录账号、IP地址、服务请求时间等。
接下来进入策略管理模块。策略管理模块中配置有针对业务请求设置的各种验证逻辑,从而针对不同的业务请求,可以采用不同的验证方法。例如,在策略管理模块中可以设置针对风险较高的业务请求采用短信验证或智能答题,针对风险较低的业务请求采用图片验证码。这里风险较高指的是该业务请求疑似暴力刷新、登录账号不正常等。
接下来,后台对本次业务请求进行识别,例如,风险识别、访问次数识别,判断是否采用图片验证码验证,若不是,则走入其他验证手段流程然后结束。例如,如果登录账号已经发出超过阈值次数(如5次)的业务请求,可以确定不采用图片验证码验证,采用升级验证。如若走图片验证码流程,则根据已生成的业务请求uuid,生成图片验证码规则id,并保存uuid和规则id键值对到redis缓存中,以便验证码生成系统使用,稍后描述。需要注意的是,将uuid和规则id键值对保存在redis缓存的好处是,能够避免请求生成图片验证码的非法业务请求绕过策略管理流程,直接用验证码生成规则(而不是从redis缓存获得)生成图片验证码来进行验证。
可以看出,图1中示出的策略管理流程100能够在一定程度上阻止可疑的高风险业务请求使用图片验证码进行验证,而是强制它们使用升级策略进行验证。这样可以防止验证码服务器被恶意刷新,减少高峰时间服务器的压力。
图2示出了根据本发明实施例的图片验证码生成流程200的流程图。
介绍图片验证码流程之前先介绍下规则配置模块(流程图略)。规则配置模块分为两个子模块:配置页面和规则仓库。配置页面使得验证码特征配置可视化、易操作,可以预览该参数配置下生成的验证码图片。管理员可以使用配置页面为不同的规则id配置不同的图片验证码生成规则。
图3示出了根据示例实施例的规则仓库300的示意图。规则仓库300中存储规则id以及用于产生图片验证码的不同参数。以规则存储表的形式为例,主要字段可以包括但不限于以下至少一项:规则id、字体组合、字符个数、字符颜色、字体大小、字符类型、位置浮动、旋转角度、缩放倍数、扭曲类型、干扰类型、干扰尺寸、干扰颜色、背景颜色、图片尺寸等,如图3所示。
可以看出,其中符合验证码基本需求的规则组合数量级可以达到1011。特征的不重复性理论上保证了验证码的动态化生成。此外,规则的生成可以不仅仅依靠人工配置,也可以通过自动生成规则的方法形成数据。
回到图2,图片验证码生成流程200包括:确认用户该次业务请求为图片验证码验证,后台系统根据该请求的uuid从redis中尝试取出对应的规则id(策略管理流程生成的键值对),若果能取出规则id,则根据该规则id到规则配置模块取出规则,生成对应的图片验证码,返回图片URL给用户。如果不能取出规则id,则说明该次请求绕过后台,为恶意操作刷验证码,则直接结束,不给返回图片,流程结束。该URL为含有uuid入参信息,保证了URL的唯一有效性,再次刷新URL将不会得到其他任何图片,根源上做到了防刷,极大地降低恶意用户取得识别样本的可能性。
图4示出了根据本发明实施例的使用图片验证码进行验证的方法400。方法400包括:步骤401,根据业务请求的参数,生成业务请求的唯一识别码uuid;步骤402,对所述业务请求进行识别,确定是否使用图片验证码;步骤403,如是,根据所述唯一识别码uuid生成规则id,保存唯一识别码uuid和规则id键值对到缓存中;步骤404,根据业务请求的uuid从缓存中读取规则id;以及步骤405,利用与规则id相对应的图片验证码生成规则,生成图片验证码。
在一个实施例中,所述参数包括业务系统标识、登录账号、IP地址以业务请求时间中的至少一个。
在一个实施例中,步骤402包括对所述业务请求进行风险识别和/或访问次数识别,以确定是否使用图片验证码。
在一个实施例中,方法400还包括,如确定不使用图片验证码,则在步骤406,使用升级验证,所述升级验证包括智能答题验证和/或短信验证。
在一个实施例中,所述规则id和图片验证码生成规则相关联地存储在规则仓库中,所述图片验证码生成规则包括字体组合、字符个数、字符颜色、字体大小、字符类型、位置浮动、旋转角度、缩放倍数、扭曲类型、干扰类型、干扰尺寸、干扰颜色、背景颜色、图片尺寸中的至少一个。
在一个实施例中,所述缓存是redis缓存。
图5示出了根据本发明实施例的使用图片验证码进行验证的装置500。装置500包括uuid生成模块501、策略确定模块502、规则id生成模块503、规则id读取模块504和图片验证码生成模块505。
其中,uuid生成模块501被配置为根据业务请求的参数,生成业务请求的唯一识别码uuid。策略确定模块502被配置为对业务请求进行识别,确定是否使用图片验证码。规则id生成模块503被配置为根据所述唯一识别码uuid生成规则id,保存唯一识别码uuid和规则id键值对到缓存中。规则id读取模块504被配置为根据业务请求的uuid从缓存中读取规则id。图片验证码生成模块505被配置为利用与规则id相对应的图片验证码生成规则,生成图片验证码。
在一个实施例中,所述参数包括业务系统标识、登录账号、IP地址以业务请求时间中的至少一个。
在一个实施例中,策略确定模块502还被配置为对所述业务请求进行风险识别和/或访问次数识别,以确定是否使用图片验证码。
在一个实施例中,装置500还包括被配置为包括智能答题验证和/或短信验证的升级验证模块(图5中未示出)。
在一个实施例中,所述规则id和图片验证码生成规则相关联地存储在规则仓库中,所述图片验证码生成规则包括字体组合、字符个数、字符颜色、字体大小、字符类型、位置浮动、旋转角度、缩放倍数、扭曲类型、干扰类型、干扰尺寸、干扰颜色、背景颜色、图片尺寸中的至少一个。
在一个实施例中,所述缓存是redis缓存。
本发明提出了使用图片验证码进行验证的方法的装置。其优点在于:(1)验证码特征的多样动态化,让破解者无规律可循;(2)防刷机制,验证码图片URL的唯一性,阻止恶意用户暴力刷新;(3)适配各种业务系统,验证策略个性化可配置;(4)验证流程保护正常用户,阻拦恶意用户,保证业务的公正、公平;(5)计数防刷,策略自动升级,减少恶意用户请求次数,降低服务器压力。
说明书中,术语UUID含义是通用唯一识别码(UniversallyUnique Identifier),UUID的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定,它保证对在同一时空中的所有机器都是唯一的。
说明书中,术语redis是指一种高性能的key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
需要注意的是,以上仅为本发明的较佳实施例及原理。本领域的技术人员会理解,本发明不限于这里的特定实施例。本领域的技术人员能够做出各种明显变化、调整和替代,而不脱离本发明的保护范围。本发明的范围由所附权利要求界定。

Claims (12)

1.一种使用图片验证码进行验证的方法,包括:
根据业务请求的参数,生成业务请求的唯一识别码uuid;
对业务请求进行识别,确定是否使用图片验证码;
如是,根据所述唯一识别码uuid生成规则id,保存唯一识别码uuid和规则id键值对到缓存中;
根据业务请求的uuid从缓存中读取规则id;以及
利用与规则id相对应的图片验证码生成规则,生成图片验证码。
2.根据权利要求1所述的方法,其中所述参数包括业务系统标识、登录账号、IP地址以业务请求时间中的至少一个。
3.根据权利要求1所述的方法,还包括对所述业务请求进行风险识别和/或访问次数识别,以确定是否使用图片验证码。
4.根据权利要求1至3中任一项所述的方法,其中,如确定不使用图片验证码,则使用升级验证,所述升级验证包括智能答题验证和/或短信验证。
5.根据权利要求1所述的方法,其中,所述规则id和图片验证码生成规则相关联地存储在规则仓库中,所述图片验证码生成规则包括字体组合、字符个数、字符颜色、字体大小、字符类型、位置浮动、旋转角度、缩放倍数、扭曲类型、干扰类型、干扰尺寸、干扰颜色、背景颜色、图片尺寸中的至少一个。
6.根据权利要求1所述的方法,其中所述缓存是redis缓存。
7.一种使用图片验证码进行验证的装置,包括:
uuid生成模块,被配置为根据业务请求的参数,生成业务请求的唯一识别码uuid;
策略确定模块,被配置为对业务请求进行识别,确定是否使用图片验证码;
规则id生成模块,被配置为根据所述唯一识别码uuid生成规则id,保存唯一识别码uuid和规则id键值对到缓存中;
规则id读取模块,被配置为根据业务请求的uuid从缓存中读取规则id;以及
图片验证码生成模块,被配置为利用与规则id相对应的图片验证码生成规则,生成图片验证码。
8.根据权利要求7所述的装置,其中所述参数包括业务系统标识、登录账号、IP地址以业务请求时间中的至少一个。
9.根据权利要求7所述的装置,策略确定模块还被配置为对所述业务请求进行风险识别和/或访问次数识别,以确定是否使用图片验证码。
10.根据权利要求7至9中任一项所述的装置,还包括被配置为包括智能答题验证和/或短信验证的升级验证模块。
11.根据权利要求7所述的装置,其中,所述规则id和图片验证码生成规则相关联地存储在规则仓库中,所述图片验证码生成规则包括字体组合、字符个数、字符颜色、字体大小、字符类型、位置浮动、旋转角度、缩放倍数、扭曲类型、干扰类型、干扰尺寸、干扰颜色、背景颜色、图片尺寸中的至少一个。
12.根据权利要求7所述的装置,其中所述缓存是redis缓存。
CN201610369988.8A 2016-05-30 2016-05-30 使用图片验证码进行验证的方法和装置 Pending CN107451459A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610369988.8A CN107451459A (zh) 2016-05-30 2016-05-30 使用图片验证码进行验证的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610369988.8A CN107451459A (zh) 2016-05-30 2016-05-30 使用图片验证码进行验证的方法和装置

Publications (1)

Publication Number Publication Date
CN107451459A true CN107451459A (zh) 2017-12-08

Family

ID=60484891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610369988.8A Pending CN107451459A (zh) 2016-05-30 2016-05-30 使用图片验证码进行验证的方法和装置

Country Status (1)

Country Link
CN (1) CN107451459A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183914A (zh) * 2018-01-10 2018-06-19 浪潮通用软件有限公司 一种防止恶意刷取短信验证码发送服务的方法
CN109117624A (zh) * 2018-08-03 2019-01-01 上海掌门科技有限公司 生成验证码图像的方法、电子设备和计算机可读介质
CN112101869A (zh) * 2020-09-17 2020-12-18 深圳市丰巢网络技术有限公司 基于快递柜的存取件方法、装置及服务器
CN113821786A (zh) * 2020-06-18 2021-12-21 中移(苏州)软件技术有限公司 一种验证码的获得及显示方法、相关装置
CN114035784A (zh) * 2022-01-11 2022-02-11 北京顶象技术有限公司 一种通过图形和规则集来定义验证码流程的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202345A (zh) * 2014-09-28 2014-12-10 北京奇虎科技有限公司 验证码生成方法、装置及系统
CN105306208A (zh) * 2014-07-21 2016-02-03 腾讯科技(深圳)有限公司 身份验证方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306208A (zh) * 2014-07-21 2016-02-03 腾讯科技(深圳)有限公司 身份验证方法及装置
CN104202345A (zh) * 2014-09-28 2014-12-10 北京奇虎科技有限公司 验证码生成方法、装置及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183914A (zh) * 2018-01-10 2018-06-19 浪潮通用软件有限公司 一种防止恶意刷取短信验证码发送服务的方法
CN109117624A (zh) * 2018-08-03 2019-01-01 上海掌门科技有限公司 生成验证码图像的方法、电子设备和计算机可读介质
CN113821786A (zh) * 2020-06-18 2021-12-21 中移(苏州)软件技术有限公司 一种验证码的获得及显示方法、相关装置
CN112101869A (zh) * 2020-09-17 2020-12-18 深圳市丰巢网络技术有限公司 基于快递柜的存取件方法、装置及服务器
CN114035784A (zh) * 2022-01-11 2022-02-11 北京顶象技术有限公司 一种通过图形和规则集来定义验证码流程的方法及装置
CN114035784B (zh) * 2022-01-11 2022-05-31 北京顶象技术有限公司 一种通过图形和规则集来定义验证码流程的方法及装置

Similar Documents

Publication Publication Date Title
US11190527B2 (en) Identity verification and login methods, apparatuses, and computer devices
US11599624B2 (en) Graphic pattern-based passcode generation and authentication
US8214446B1 (en) Segmenting access to electronic message boards
CN1845489B (zh) 验证信息生成装置及其方法、反自动机验证装置及其方法
CN111886842B (zh) 使用基于阈值的匹配进行远程用户身份验证
CN104468531B (zh) 敏感数据的授权方法、装置和系统
CN107451459A (zh) 使用图片验证码进行验证的方法和装置
CN104364790B (zh) 用于实施多因素认证的系统和方法
US10789666B2 (en) Watermark security
CN108306877A (zh) 基于node js的用户身份信息的验证方法、装置和存储介质
CN107294721A (zh) 基于生物特征的身份注册、认证的方法和装置
CA3145505C (en) Staged information exchange facilitated by content-addressable records indexed to pseudonymous identifiers by a tamper-evident data structure
CN102647423B (zh) 一种数字签章及印鉴的鉴别方法及系统
CN106470204A (zh) 基于请求行为特征的用户识别方法、装置、设备及系统
CN106650495A (zh) 一种文件验证方法及装置
JP5136843B2 (ja) ユーザ認証方法およびシステム
CN111563243A (zh) 一种基于微信小程序的可信身份认证平台
CN105593867A (zh) 用于评估证件的方法
CN103559221B (zh) 一种进行多媒体数据处理的方法、装置和浏览器
CN105162604A (zh) 一种基于特征图像识别的验证方法、服务器及系统
US20230222190A1 (en) Systems and methods for providing user validation
CN110324344A (zh) 账号信息认证的方法及装置
CN111666552A (zh) 一种个人信息管理系统
CN109698863A (zh) 一种确定http报文安全性的方法、装置、设备及存储介质
CN115114667A (zh) 一种安全芯片的隐私信息处理分类方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20171208

RJ01 Rejection of invention patent application after publication