下面的例子中,直接调用方法获取短信验证码
@GetMapping("wrong")
public void wrong() {
sendSMSCaptcha("13600000000");
}
private void sendSMSCaptcha(String mobile) {
//调用短信通道
}
如果不加任何限制的话,某些用户大量请求就会导致系统出现问题
好的防刷逻辑是,对正常使用的用户毫无影响,只有疑似异常使用的用户才会感受到。对于短信验证码,有如下 4 种可行的方式来防刷。
• 只有固定的请求头才能发送验证码;
• 只有先到过注册页面才能发送验证码;
• 控制相同手机号的发送次数和发送频次;
• 增加前置图形验证码