Blogger Information
Blog 16
fans 0
comment 0
visits 5668
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
KgCaptcha 行为验证码安全策略设置
Original
384 people have browsed it

前言

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

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

无感验证

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

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

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

部分代码片段

  1. def sense_verify(self):
  2. """ 检测当前用户是否为无感免验证用户 """
  3. # 当前应用是否开启无感验证功能
  4. if self.auth.data["sense"] != 1: return 0, self.auth.lang[0]
  5. # 支持客户端调时关闭无感验证:$_GET["sence"] = 1 关闭、默认为 0 即开启 <script src="captcha.js?&sence=1"></script>
  6. if self.kg["GET"].get("sence", "ON") == "OFF": return 40004, self.auth.lang[40004]
  7. # 客户端环境是否支持无感验证,无法获取/写入客户端 COOKIE
  8. if len(str(self.auth.cid)) != 32 or not self.auth.ip: return 40000, self.auth.lang[40000]
  9. ....

IP限制(黑/白名单)

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

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

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

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

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

部分代码片段

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

风 控异常设置

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

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

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

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

部分代码片段

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

相关链接

SDK下载:https://github.com/KgCaptcha

在线体验:https://www.kgcaptcha.com/demo/

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post