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

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

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

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