代码之家  ›  专栏  ›  技术社区  ›  Alix Axel

短信-如何避免破产?

  •  5
  • Alix Axel  · 技术社区  · 15 年前

    我正在编写一个新网站,需要用户输入他们的手机号码,我面临的问题是,我需要确保用户实际上是手机号码的所有者(在本例中,是有权访问)。

    我提出的解决方案是,在提交号码时,我会给他们发送一条带有令牌的短信,并要求用户在我的网站上输入令牌,就像谷歌日历一样。不过,我的预算很短,我需要确保用户A不会提交10万个手机号码,如果发生这种情况,我将很快退出业务,因为每发送一条短信花费我大约0.10美元。

    到目前为止,我提出了以下解决方案:

    • 使用CAPTCHA (将一些用户拒之门外,但仍然容易受到手动注册的影响)
    • 限制给定IP地址请求的令牌数 (动态IP、代理等)
    • 限制为给定手机号码发送的令牌数 (用户可以请求所有可用号码的令牌,当实际用户尝试请求合法令牌时,其号码将被阻止)

    这些解决方案都不完美,您建议我如何处理这个问题?

    5 回复  |  直到 15 年前
        1
  •  6
  •   OtherDevOpsGene Jon Strayer    15 年前

    在最近的一个项目中,我们将短信息号码与用户帐户关联起来。每个帐户都需要验证码和电子邮件激活。用户可以通过令牌激活短消息,就像您正在使用的一样。

    您可以对限制IP地址进行评级(不是总限制)。在5分钟内不超过10个来自IP的请求,或者类似的请求。

    和/或您可以限制未完成的短信请求。IP地址请求短信息令牌后,必须先提交令牌,然后该IP才能请求另一个短信息号码。或每IP每天不超过10个未完成的短信息令牌。

    此外,正如@alan所说,我们每月对短信设置上限。

        2
  •  3
  •   Alan    15 年前

    我将使用catpcha的组合并限制给定移动电话号码的请求。

    此外,您应该能够用您的SMS聚合器指定每月的预设限制。当你达到这个极限后,服务就关闭了。这样,如果你是一个攻击的受害者,你将只对有限的钱负责。

    代替短信息,你可以使用一个自动服务,呼叫一个电话号码说出一次性密码(通过文本2语音)。这些服务在定价上与短信息相似,不太可能被滥用,因为有更多的开销。

    Twilio 每分钟0.03美元,在这种情况下,每通电话0.03美元。

        3
  •  3
  •   Aaron Maenpaa    15 年前

    你可以做Twitter做的事情,也就是让用户给你发短信(而不是给他们发短信)。

    这将要求您找到一个供应商,让您免费(或接近)收到文本,但这可能更容易。

        4
  •  0
  •   Stephen Wrighton    15 年前

    为什么短信要花你一毛钱?使用与每个短信息系统相关联的电子邮件地址(至少在美国)。

    http://www.sms411.net/2006/07/how-to-send-email-to-phone.html

        5
  •  0
  •   Jak    15 年前

    如果有人试图滥用一个系统,他们很可能会找到一种方法。 使用您已经想到的技术组合可能是阻止大多数恶意用户的最佳方法。

    限制人们可以做的事情(10分钟内不超过10个来自1个IP的请求,一个电话号码一周只能接收3条短信,输入号码前必须验证码),但更重要的是,如果人们无法控制消息的内容,就没有真正的理由利用它。

    推荐文章