鱼C论坛

 找回密码
 立即注册
查看: 1936|回复: 3

[吹水] 揭秘滑动验证码:人类手抖VS机器精准!你以为它在乎速度和准确性?错!真相只有3秒...

[复制链接]
发表于 2023-12-18 10:00:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2023-12-17 18:27 编辑

2023-12-17_18-24-46.png

问:滑动验证码识别人机是看我们滑的快不快,对的有多准吗?

3秒考虑一下

答案:
游客,如果您要查看本帖隐藏内容请回复


揭秘:



实现代码:

  1. from PIL import Image, ImageDraw, ImageFont, ImageFilter
  2. import random

  3. # 生成随机字母
  4. def rnd_char():
  5.     return chr(random.randint(65, 90))

  6. # 生成随机颜色1
  7. def rnd_color():
  8.     return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

  9. # 生成随机颜色2
  10. def rnd_color2():
  11.     return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

  12. # 240 x 60:
  13. width = 240
  14. height = 60
  15. image = Image.new('RGB', (width, height), (255, 255, 255))

  16. # 创建Font对象:
  17. font = ImageFont.truetype('Arial.ttf', 36)

  18. # 创建Draw对象:
  19. draw = ImageDraw.Draw(image)

  20. # 填充每个像素:
  21. for x in range(width):
  22.     for y in range(height):
  23.         draw.point((x, y), fill=rnd_color())

  24. # 输出文字:
  25. for t in range(4):
  26.     draw.text((60 * t + 10, 10), rnd_char(), font=font, fill=rnd_color2())

  27. # 模糊:
  28. image = image.filter(ImageFilter.BLUR)
  29. image.save('code.jpg', 'jpeg')

  30. print("验证码已生成并保存为code.jpg")
复制代码

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-18 12:55:34 | 显示全部楼层
嗯~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-18 15:04:47 | 显示全部楼层
滑动速度是否匀速?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-24 08:41:30 | 显示全部楼层
滑动验证有很多可以操作的地方, 甚至不管用户移动多准确,都可以第一次判定失败.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-10 14:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表