KgCaptcha 行为验证码安全策略设置

简介: 在验证码项目中,都会遇到验证码被恶意大量高频的调用,给服务造成很多无效的注册或登录,占用大量的系统资源。

前言

在验证码项目中,都会遇到验证码被恶意大量高频的调用,给服务造成很多无效的注册或登录,占用大量的系统资源。

而我在想,有没有哪一款验证码产品可以设置黑/白名单限制IP访问设置风控异常呢?答案是:有,大海茫茫中让我找到了 KgCaptcha,接下来我就给大家讲讲怎么设置吧!


无感验证

开启:当用户通过验证后,再次访问时,无需验证,直接通过。

关闭:用户每次都需手动验证。

3.png

当无感验证开启,验证码显示如下:

4.png

部分代码片段

defsense_verify(self):
""" 检测当前用户是否为无感免验证用户 """# 当前应用是否开启无感验证功能ifself.auth.data["sense"] !=1: return0, self.auth.lang[0]
# 支持客户端调时关闭无感验证:$_GET["sence"] = 1 关闭、默认为 0 即开启 <script src="captcha.js?&sence=1"></script>ifself.kg["GET"].get("sence", "ON") =="OFF": return40004, self.auth.lang[40004]
# 客户端环境是否支持无感验证,无法获取/写入客户端 COOKIEiflen(str(self.auth.cid)) !=32ornotself.auth.ip: return40000, self.auth.lang[40000]
    ....


IP限制(黑/白名单)

黑名单模式:禁止以下IP访问

白名单模式:只允许以下IP访问

通过选择黑/白名单,填写IP列表来限制指定IP访问验证码。

6.png

当访问者IP在黑名单列表里,验证码显示如下:

7.PNG

相反,当访问者IP在白名单列表里,验证码正常显示:

10.PNG

部分代码片段

# 客户端IP检测ip_list=self.auth.ip_list()
ifip_list==1: message="%s : %s"% (self.auth.lang[40010], self.kg["HTTP_ADDR"])
ifip_list==2: message="%s : %s"% (self.auth.lang[40011], self.kg["HTTP_ADDR"])
# 服务器黑名单检测ifself.auth.client_blacklist():
message=self.auth.lang[40020]  # 服务器黑名单


风控异常设置

一级:适用于开发调试及对安全要求一般的应用

二级:标准模式,适用于大部分应用

三级:适用于对安全要求极高的应用

12.png

当指定分钟内错误记录达到指定次数时,触发风险异常提示:

13.PNG

部分代码片段

# 请求次数限制检测excess=self.auth.excess(0)
ifexcess:
message= {1: self.auth.lang[40012], 2: self.auth.lang[40013], 3: self.auth.lang[40014]}[excess]
# 风险检测,在 x 分钟内出错记录超过 n 次则拒绝ifself.auth.data["level"] >0:  # self.auth.cid# if not self.auth.cid: message = self.auth.lang[40007]  # 无 COOKIE IDifnotself.auth.risk():
message=self.auth.lang[40006]  #


相关链接

SDK下载:KgCaptcha (KgCaptcha) · GitHub

在线体验:凯格行为验证码在线体验

开发文档:凯格行为验证码-开发文档

相关文章
|
2月前
|
安全 Java 数据库
SpringSecurity实现多种登录方式,如邮件验证码、电话号码登录
SpringSecurity实现多种登录方式,如邮件验证码、电话号码登录
339 1
|
2月前
|
SQL 前端开发 安全
使用 BurpSuite 绕过验证码实施表单
使用 BurpSuite 绕过验证码实施表单
使用 BurpSuite 绕过验证码实施表单
|
2月前
|
安全 JavaScript 前端开发
若依实现系统单点登录(可绕过验证码)
若依实现系统单点登录(可绕过验证码)
|
11月前
|
安全 机器人 网络安全
安全防线加固,文字点选验证码来帮忙
为了确保网络安全,我们网站采用了文字点选验证码来验证用户身份。文字点选验证码是一种简单而有效的验证机制,通过要求用户点击相关图像来区分真实用户和机器人。它不仅可以防止恶意攻击,还能提供用户友好的验证体验。
|
12月前
|
JavaScript API 容器
手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)
手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)
235 1
|
12月前
|
缓存 前端开发 NoSQL
认证服务:验证码保存和注册
认证服务:验证码保存和注册
|
PHP 开发工具
KgCaptcha验证的那些事
针对KgCaptcha验证码,当用户点击完成验证,系统进行风险评估,根据风险程度进行验证,并返回结果。下面是我对前/后端验证的分析。
KgCaptcha验证的那些事
|
开发工具
[验证码] KgCaptcha风险监测方法
“访问过于频繁,请先完成验证”,相信大家对这句话应该不陌生。当我们访问一个网站过于频繁时,就会弹出这样的提示,甚至于让我们先通过滑动验证码。
[验证码] KgCaptcha风险监测方法
|
JavaScript 开发工具
同一页面生成多个验证码
一个页面需要两个验证码,使用同一个验证码调用两次会导致有前一个失效。那么我们需要创建不同的两个验证码,分别做验证。
同一页面生成多个验证码
|
开发工具
KgCaptcha 语序识别验证码请求日志记录
请求日志记录是一个非常普遍的功能,几乎可以涉及到所有的项目。所以一个方便使用的日志记录,将会方便日后的管理,于是我通过使用 KgCaptcha 在我的验证码项目中实现。
KgCaptcha 语序识别验证码请求日志记录

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    27
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    27
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    27
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    28
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    25
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    31
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    23
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    21
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    21
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    20