在2022年4月22号一个风清月朗的晚上,我被部门老大通知要留下加班支持给客户私有化部署升级,为之前做了很多准备工作,一切进展还挺顺利。
突然测试嗷叫了一下,说发送验证码一直没有反应,当时没有在意,只是认为是短信服务商慢,但是测试人员发现发送邮件也是一样很慢没有反应,于是和前端开发人员一起排查下问题。
发现有以下特点,前端请求之后后端一直没有反应,于是前端到了时间断开了,然后后端还是会发送验证码到手机和邮箱上,等待时间不能,有时候三四分钟,有时候甚至十几分钟,于是试了一下自己公司产品的发送验证码功能,速度很快,马上就收到了验证码,这让我一脸茫然,看代码看不出任何问题,打印的日志也没有报错信息,没办法只能通过调用方法的每个步骤都打上日志,重新部署后,通过日志排查发现是 生成验证码导致 ,(原因是 sonar扫描到使用Random随机函数不安全, 推荐使用SecureRandom替换之, 当使用SecureRandom.getInstanceStrong()获取SecureRandom并调用next方式时, 在生产环境(linux)产生较长时间的阻塞),在测试环境时以为是短信运营商的原因导致,所以没有在意,后面也百度到,之前有人踩过坑 。
转载分析链接:https://blog.csdn.net/weixin_45244678/article/details/106137948
记录随机生成验证码踩坑经验
最新推荐文章于 2024-06-12 23:40:32 发布