【问题标题】:Web service to check existence of email?用于检查电子邮件是否存在的 Web 服务?
【发布时间】:2011-10-22 04:42:42
【问题描述】:

我有我的小网络应用程序,具有简单的注册策略 - 提供电子邮件和密码,您就完成了。

最近 bot 开始攻击我的应用程序,使用相同的密码从不存在的电子邮件中注册大量用户。

我想阻止这种情况。我的想法是扩展登录验证,但检查电子邮件地址的存在。你知道任何可以做到这一点的 Web 服务(最好是 WCF)吗?

【问题讨论】:

  • 它需要连接到每个域电子邮件服务器来检查电子邮件地址的存在,这似乎不太可能。您为什么不使用一些挑战将机器人排除在外(例如验证码)?

标签: asp.net asp.net-mvc web-services security


【解决方案1】:

这已在How to check if an email address exists without sending an email? 上讨论过。基本上有办法验证电子邮件地址,但实际上它们都不可靠。但是,您仍然可以通过 SMTP 进行检查,如果服务器拒绝预期用户的存在,无论如何都要向他发送一封带有验证链接的电子邮件。这并不能阻止垃圾邮件发送者设置虚假服务器来承认任何用户的存在,或者使用其他人的电子邮件地址,但这可能是您最接近没有验证电子邮件的初始要求。

【讨论】:

  • 谢谢.. 考虑到所说的一切,我认为验证码是阻止垃圾邮件发送者的最佳方式;
  • @alexanderb 您可能需要考虑隐藏的验证码,它们试图自行区分机器人和人类,例如(对于 WebForms)asp.net/ajax/ajaxcontroltoolkit/samples/NoBot/NoBot.aspx
【解决方案2】:

尝试以下服务:http://elasticemail.com/

您可以使用 api 检查电子邮件是否已送达。您还可以查看“bouce list”。

【讨论】:

    【解决方案3】:

    我建议您更新您的注册表单。尝试为机器人使用一些棘手的东西。例如,使用 JSON 对象包装器通过 AJAX 发布表单。

    【讨论】:

      【解决方案4】:

      这绝对不是解决这个问题的方法。尝试其中一种

      1. 只允许用户输入用户名并将auto-generated密码发送到他们的电子邮件。
      2. 向用户电子邮件发送验证链接,并在验证后批准他/她

      【讨论】:

      • 谢谢,但我想尽可能避免验证信。我个人讨厌他们,我认为我的用户是一样的;
      • 我同意这是一个小小的不便。但这是解决这个问题的最佳方法。另外,如果我是专业的垃圾邮件发送者(无论谁会选择此作为职业),我都会收到大量有效电子邮件:)
      猜你喜欢
      • 2020-04-16
      • 2013-01-05
      • 2022-08-03
      • 2016-12-22
      • 2022-01-20
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多