当前位置: 首页 > news >正文

从 PHP 到 AI + Golang,程序员自救转型手记(二十三):登录接口整合点选验证码,AI大翻车

这是一个系列 Blog,作者将以一个 PHP 全栈工程师的身份,利用 AI 工具(claude code、codex、deepseek、豆包等):从零开始学习 golang 语言,并最终完成 ai-go-admin(github | gitee)开源项目的制作,全程记录分享。

在上一期,我们已经完成 “改用 AGENTS.md”,本期将完成:登录接口整合点选验证码(AI 大翻车)、阶段目标改变

登录接口整合点选验证码

在之前,我们已经完成了前端的点选验证码组件实现和服务端的验证码生成、验证功能实现,接下来为登录接口整合人机验证功能。

登录接口/admin/login也是现成的,只是之前没有人机验证,接下来的工作哪怕扫地阿姨都能轻松完成,但是 CC 给我拉了坨大的,如果不是有人工逐行review,这次生成的代码会导致:重大系统漏洞且开发者还自我感觉良好。

提示词:

  1. 登录页发起登录请求前,调起点选验证码组件
  2. 携带验证码组件提供的验证数据请求登录接口
  3. 服务端登录接口的控制器内对点选验证数据进行复验

大的来了,阅读过之前章节的朋友都知道,我一般是不上图的,但为防止读者认为我是编的,我截图了 AI 的输出:

如图,我没黑 AI,它就是在瞎搞。

最终完整代码如下:

是的,先查用户名、检查状态账号、验证密码,最后才检查了人机验证码是否正确。

聪明的读者已经明白了,黑客根本不需要提交正确的人机验证码,就能通过接口的返回确定密码是否正确,等黑客确定了正确的密码,然后从容的打开浏览器,输入账号密码,人工点选验证码,完成登录,好好的登录接口,被写成了正确密码测试接口。

最让我觉得翻车的是,我的登录接口只缺人机验证,且代码带有注释,cc 偏偏还是将验证写错了位置,并不是说其他逻辑不全,位置写错都还情有可原。

下面请看 cc 的解释:你在@internal/service/admin/admin.go中增加的验证点选验证码逻辑,为什么是在账号检查、密码检查之后,这样人机验证还有意义吗?

你说得对,当前顺序不合理。验证码作为人机验证应该放在最前面,否则攻击者可以在不通过验证码的情况下探测用户名是否存在、密码是否正确。正确顺序应该是:验证码 → 用户名 → 账号状态 → 密码......

阶段目标改变

原本是打算直接做好mall,同时兼顾admin的用途,但调研了BuildAdmin的小伙伴们更加期待的是 Go 版本的干净 admin;

船小好掉头,新的计划是反过来,即先做好 admin(github | gitee),再基于admin去完善mall,当然,其实前期两个项目的东西就是一样的,只是后续mall会额外多出更多功能。

http://www.cnnetsun.cn/news/3213915.html

相关文章:

  • AI for Science 新变量:学术合规刚需爆发,科研AI平台迎来采购风口
  • 【青岛农业大学主办 | ACM出版】第五届人工智能与智能信息处理国际学术会议(AIIIP 2026)
  • AD5593R与MK20DN128VFM5硬件协同设计与优化实践
  • 私域流量破局:如何利用微信机器人开发工具实现外部群的主动调用与群控?
  • 真实推荐|国内好用工单管理系统年中盘点
  • 2026品牌网站建设哪家好
  • OpenPLC在PREEMPT_RT实时Linux上部署
  • 0001 - 大模型概念入门
  • 当出海企业选择服务平台时,如何有效应对埃及市场挑战?
  • 【AI编程】腾讯云CodeBuddy
  • 终极B站视频下载指南:免费下载大会员4K和充电专属内容
  • 工业阀门制造商80%的咨询来自竞品?揭秘企业线上获客3大断层
  • 无轻奢高级建筑装饰,雕花冲孔铝单板打造梦幻空间
  • Python正则表达式完整教程:从入门到实战,解决文本匹配所有难题
  • AI 辅助 Code Review 的团队落地:从试用到痛点解决的完整路径
  • ChatGPT已过时?揭秘AI Agent如何彻底改变你的工作方式!
  • Acrobat Pro DC 2024安装本质:云原生软件的三方握手认证
  • 这次终于选对了!2026年亲测好用的专业AI论文写作软件
  • 音频处理深入:混音、降噪、音量调节与格式转换
  • ADP5350电源管理IC在嵌入式系统中的应用与优化
  • 绵竹深夜连震,iPhone 用户只能刷朋友圈?我写了一个开源地震预警系统
  • 采购智慧养老设备总踩坑?星梦云康轻量化方案提供参考
  • A股实时行情 API 接入教程:TickDB REST ticker、K线与 WebSocket 实测
  • 2026OpenClaw企业版品牌下载推荐 八款商用智能体分行业量化选型测评指南
  • PyTorch 2.0 线性回归实战:3步从数据加载到模型保存(附完整代码)
  • ZIP密码破解工具对比:ARCHPR vs fcrackzip vs ZipCracker 3款实战评测
  • TraceID 跨越异步任务:不要让消息队列切断调用链
  • 孩子书桌用什么灯好?盘点护眼效果好的护眼台灯,品质过硬!
  • 半导体超纯水系统 2026:3种主流配置方案与18.2 MΩ·cm水质保障
  • 2026工程物资管理软件哪个好?5款轻付费和免费的管理软件对比!