V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
77yf77yf77yf
V2EX  ›  Java

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

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

    @holinhot 加验证码确实是个常规思路,不过层主没提出来。至于体验问题那就没办法了,毕竟楼主接受不了风险。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5575 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:25 · PVG 10:25 · LAX 18:25 · JFK 21:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.