Blogger Information
Blog 16
fans 0
comment 0
visits 5704
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
KgCaptcha验证码实现笔记
Original
338 people have browsed it

背景

闲来无聊,在网上发现了一个验证码产品KgCaptcha,下面是我用KgCaptcha开发验证码的记录。

开发过程

Web接入

访问官网,注册账号后登录控制台,创建应用,系统会分配一个唯一的AppId、AppSecret。

引入JS

这里的appid在用户控制台获取。

  1. <script src="captcha.js?appid=xxx"></script>

JS接入代码

  1. <script>
  2. kg.captcha({
  3. // 绑定元素,验证框显示区域
  4. bind: "#captchaBox",
  5. // 验证成功事务处理
  6. success: function(e) {
  7. console.log(e);
  8. },
  9. // 验证失败事务处理
  10. failure: function(e) {
  11. console.log(e);
  12. },
  13. // 点击刷新按钮时触发
  14. refresh: function(e) {
  15. console.log(e);
  16. }
  17. });
  18. </script>

Python后台验证

  1. from wsgiref.simple_server import make_server
  2. from KgCaptchaSDK import KgCaptcha
  3. def start(environ, response):
  4. # 填写你的 AppId,在应用管理中获取
  5. AppID = "xxx"
  6. # 填写你的 AppSecret,在应用管理中获取
  7. AppSecret = "xxx"
  8. request = KgCaptcha(AppID, AppSecret)
  9. # 填写应用服务域名,在应用管理中获取
  10. request.appCdn = "https://cdn.kgcaptcha.com"
  11. # 请求超时时间,秒
  12. request.connectTimeout = 10
  13. # 用户id/登录名/手机号等信息,当安全策略中的防控等级为3时必须填写
  14. request.userId = "kgCaptchaDemo"
  15. # 使用其它 WEB 框架时请删除 request.parse,使用框架提供的方法获取以下相关参数
  16. parseEnviron = request.parse(environ)
  17. # 前端验证成功后颁发的 token,有效期为两分钟
  18. request.token = parseEnviron["post"].get("kgCaptchaToken", "") # 前端 _POST["kgCaptchaToken"]
  19. # 客户端IP地址
  20. request.clientIp = parseEnviron["ip"]
  21. # 客户端浏览器信息
  22. request.clientBrowser = parseEnviron["browser"]
  23. # 来路域名
  24. request.domain = parseEnviron["domain"]
  25. # 发送请求
  26. requestResult = request.sendRequest()
  27. if requestResult.code == 0:
  28. # 验证通过逻辑处理
  29. html = "验证通过"
  30. else:
  31. # 验证失败逻辑处理
  32. html = f"{requestResult.msg} - {requestResult.code}"
  33. response("200 OK", [("Content-type", "text/html; charset=utf-8")])
  34. return [bytes(str(html), encoding="utf-8")]
  35. httpd = make_server("0.0.0.0", 8088, start) # 设置调试端口 http://localhost:8088/
  36. httpd.serve_forever()

JS刷新验证码

  1. <script>kg.reload(kg.param);</script>

效果展示

最后

SDK开源地址:KgCaptcha (KgCaptcha) · GitHub,顺便做了一个演示:凯格行为验证码在线体验

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