最近做的项目在登录注册中需要用到短信发送,于是单独写了一个短信发送的接口,当时什么也没考虑到,就是接口访问带有手机号就可以发送,这具有很大的安全隐患。
在查资料看博客并且参考其他大的网站之后,决定对短信发送接口进行安全性改造。
前端除了传递必要的参数外,还加入一个当前的时间的毫秒数,还有一个加密签名,这个签名是当前时间的毫秒数和前后端确定好的一个秘钥来通过MD5或其他加密算法加密之后得到的。(这个秘钥可以是一个字符串),然后后端的逻辑就要对这个两个参数先进行判断。这样可以最大程度上防止接口被刷的情况。
除了以上方法,在接口安全性方面,还可以通过以下方法进行安全性增强:
- 或者对同一IP进行限制
- 对同一手机号进行一段时间只能发送一定次数的限制
- 在前端增加图形验证码