有没有办法防止通过发送邮件验证码的接口乱发邮件

2021-12-02 21:13:16 +08:00
 77yf77yf77yf
想来想去只想到通过限制 ip 访问接口次数,但是如果只限制 ip 的话开代理照样可以绕过,各位有什么好点的解决方案
2155 次点击
所在节点    Java
12 条回复
iBugOne
2021-12-02 21:17:07 +08:00
IP 和邮箱地址一起限速不就行了?每个邮箱 5 分钟只能发 3 个验证码之类的
77yf77yf77yf
2021-12-02 21:18:07 +08:00
@iBugOne 我设想的场景是每次都是不同的邮箱然后每次 ip 也不同
iBugOne
2021-12-02 21:27:49 +08:00
@77yf77yf77yf #2 那完全无解啊,你怎么区分有人乱发和单纯的用户使用高峰?
v2tudnew
2021-12-02 21:54:01 +08:00
验证码是对应账户吧,限制账户呗。
新注册的话可以反过来:让用户发邮件到你。
77yf77yf77yf
2021-12-02 22:03:27 +08:00
@v2tudnew 考虑的就是注册的情况,感觉让用户反向发邮件确实比较可行
ke1e
2021-12-02 23:07:20 +08:00
验证码呀 只要你验证码够 nb 就不会被刷接口
laozhoubuluo
2021-12-03 08:16:57 +08:00
@77yf77yf77yf 反向发的话,考虑的因素不少,如果只判断 from 字段的话会出安全问题。
感觉比较靠谱的是先反向发邮件,完了服务器收到反向邮件之后进下一步再正向发邮件,虽说无法保证绝对的不被滥用,但是也能很好的控制。
dven
2021-12-03 09:19:58 +08:00
把 Rate Limit 绑定到邮箱而不是 IP 上
holinhot
2021-12-03 12:00:28 +08:00
@laozhoubuluo 用户体验为 0
holinhot
2021-12-03 12:01:56 +08:00
还不如发邮件加个风控验证码
laozhoubuluo
2021-12-03 13:18:16 +08:00
@dven 他的意思是邮箱和密码同时不同。
laozhoubuluo
2021-12-03 13:19:38 +08:00
@dven 抱歉,应该是邮箱和 IP ,写错了。

@holinhot 加验证码确实是个常规思路,不过层主没提出来。至于体验问题那就没办法了,毕竟楼主接受不了风险。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/819640

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX