共计 1445 个字符,预计需要花费 4 分钟才能阅读完成。
前言
在验证码我的项目中,都会遇到验证码被歹意大量高频的调用,给服务造成很多有效的注册或登录,占用大量的系统资源。
而我在想,有没有哪一款验证码产品能够设置黑 / 白名单限度 IP 拜访和设置风控异样呢?答案是:有,大海茫茫中让我找到了 KgCaptcha,接下来我就给大家讲讲怎么设置吧!
无感验证
开启:当用户通过验证后,再次拜访时,无需验证,间接通过。
敞开:用户每次都需手动验证。
当无感验证 开启,验证码显示如下:
局部代码片段
def sense_verify(self): | |
"""检测以后用户是否为无感免验证用户""" | |
# 以后利用是否开启无感验证性能 | |
if self.auth.data["sense"] != 1: return 0, self.auth.lang[0] | |
# 反对客户端调时敞开无感验证:$_GET["sence"] = 1 敞开、默认为 0 即开启 <script src="captcha.js?&sence=1"></script> | |
if self.kg["GET"].get("sence", "ON") == "OFF": return 40004, self.auth.lang[40004] | |
# 客户端环境是否反对无感验证,无奈获取 / 写入客户端 COOKIE | |
if len(str(self.auth.cid)) != 32 or not self.auth.ip: return 40000, self.auth.lang[40000] | |
.... |
IP 限度(黑 / 白名单)
黑名单模式:禁止以下 IP 拜访
白名单模式:只容许以下 IP 拜访
通过抉择黑 / 白名单,填写 IP 列表来限度指定 IP 拜访验证码。
当 访问者 IP 在黑名单列表 里,验证码显示如下:
相同,当 访问者 IP 在白名单列表 里,验证码失常显示:
局部代码片段
# 客户端 IP 检测 | |
ip_list = self.auth.ip_list() | |
if ip_list == 1: message = "%s : %s" % (self.auth.lang[40010], self.kg["HTTP_ADDR"]) | |
if ip_list == 2: message = "%s : %s" % (self.auth.lang[40011], self.kg["HTTP_ADDR"]) | |
# 服务器黑名单检测 | |
if self.auth.client_blacklist(): | |
message = self.auth.lang[40020] # 服务器黑名单 |
风控异样设置
一级:实用于开发调试及对平安要求个别的利用
二级:规范模式,实用于大部分利用
三级:实用于对平安要求极高的利用
当指定分钟内 谬误记录达到指定次数 时,触发危险异样提醒:
局部代码片段
# 申请次数限度检测 | |
excess = self.auth.excess(0) | |
if excess: | |
message = {1: self.auth.lang[40012], 2: self.auth.lang[40013], 3: self.auth.lang[40014]}[excess] | |
# 危险检测,在 x 分钟内出错记录超过 n 次则回绝 | |
if self.auth.data["level"] > 0: # self.auth.cid | |
# if not self.auth.cid: message = self.auth.lang[40007] # 无 COOKIE ID | |
if not self.auth.risk(): | |
message = self.auth.lang[40006] # |
相干链接
SDK 下载:https://github.com/KgCaptcha
在线体验:https://www.kgcaptcha.com/demo/
正文完