快速完成、粗糙或敷衍的代码是什么样的

2024-4-28|2024-4-28
夜火/xloong
夜火/xloong
type
Post
status
Published
date
Apr 28, 2024
slug
rough-code
summary
今天改了一个前同事的代码,该代码是php+smarty的,发现是既粗糙又敷衍。
tags
随手记
category
碎片杂文
icon
password
URL
Property
Apr 28, 2024 02:29 AM
今天改了一个前同事的代码,该代码是php+smarty的,发现是既粗糙又敷衍。
起因是短信接口被刷爆,没有加图形验证码之类的人机验证,来保护接口。

看着代码感觉越来越不对劲

发送的短信验证码没有入库,而是直接写入前端的一个隐藏input,有心利用的人直接F12就拿到短信验证码了,也就是任意手机号都可以直接得到验证码,无需收到短信。
你以为这样就结束了?不,还有更敷衍的。
后端直接就没有对短信验证码进行验证,甚至前端都没有往后端传对应的值,也就是短信验证码的输入框就是个样子货,根本不用像我上面说的按F12查看验证码,随便输入个内容点提交就行了。
这骚操作。。。

修改

  • 短信验证码接口增加图形验证码进行保护
  • 发送的短信验证码入库,记录手机号、验证码、时间、ip以及其他信息
  • 用户注册、登录时短信验证码与数据库记录进行验证,限制短信验证码的可用时间,已使用过的验证码不能重复使用
  • 用户操作成功后,标记对应的验证码为已使用过

后记

其他的骚操作还有,就不逐个细说了。
我说前同事怎么一干活就非常快,有充足的时间上班玩游戏。我还以为是我技术太菜,原来都是敷衍了事,干活也太糙了。
第一篇文章初探vim中的寄存器与宏