【问题标题】:PHP Email Activation - How to Avoid Abusers?PHP 电子邮件激活 - 如何避免滥用者?
【发布时间】:2011-03-17 17:56:35
【问题描述】:

您如何避免滥用需要激活电子邮件的帐户系统?滥用者基本上可以劫持您的帐户激活系统,向某人(或多人)的电子邮件发送垃圾邮件。

最明显的解决方案可能是设置每小时或每天最多 X 次提醒的限制。但是:这并没有给非滥用用户带来怀疑的好处 - 例如,如果他们的邮件服务器只是度过了糟糕的一天怎么办?除了设置蛮力限制之外,还有更好的解决方案吗?

【问题讨论】:

  • 请参阅通过浏览器检测MAC地址@stackoverflow.com/questions/3278628/…
  • 另外 - 现在我正在考虑完全取消电子邮件验证,只使用 openid... Pro/Con?
  • 无济于事:但我通常会输入验证码,只是为了让任何滥用行为更加徒劳。至少可以防止自动触发。

标签: php email activation


【解决方案1】:

绝对应该设置每 Y 小时/天 X 次提醒的限制:

  • 您可以在第一个小时内允许 2 或 3 封邮件 - 如果一封邮件丢失,允许多封邮件会很有用
  • 那么newt一整天只有5封邮件;甚至一周。

如果 3 封邮件没有发送给用户,那么第 4 封邮件的可能性非常低...
(而且 2 或 3 封邮件已经非常慷慨了——我想说每天 1 封邮件就足够了,几乎在任何可能的情况下)

【讨论】:

  • 嗯,除了随着时间的推移设置限制/限制之外,还有其他解决方案吗?
  • 如果您想确保给定用户不会收到太多邮件,可能不会;;;另一方面,别忘了放一个“联系我们”页面,这样没有收到邮件的用户可以要求你做一些事情来帮助他们:-)
  • 我想你是对的 - 最安全的方法可能是在每次 X/X 之后只使用“如果你真的无法让它工作,请联系我们”的死锁“不发送”。尽管这似乎浪费了人力,尤其是……考虑到现在所有可用的自动化最佳实践。
【解决方案2】:

滥用者基本上可以劫持您的帐户激活系统,向某人(或多人)的电子邮件发送垃圾邮件。

想必,他们实际上不能将自己的内容放入此类电子邮件中?因为它只是一封自动激活电子邮件?这应该意味着,除了“一般的滋扰”之外,人们真的没有任何动机滥用它,如果他们可以发送垃圾邮件,对吧?

洪水控制——即限制每个 IP 地址每小时的注册尝试次数——可能是限制麻烦制造者的好方法。之后,识别任何连环犯罪者并阻止他们的 IP 地址。

除了设置蛮力限制之外,还有更好的解决方案吗?

除了有一个限制之外,您还可以有更多的“宽限”尝试次数,这样限制在此宽限尝试次数之后才适用。

例如,每个 IP 地址每天 5 次可以是限制,但只有在有人一天执行超过 20 次后才应用此限制。根据您认为是/不是“异常”使用情况调整数字。

【讨论】:

  • IP 设置限制的一个问题是滥用者可能只是伪造 IP。另外,如果激活系统用于大型本地活动,例如会议,大多数人都在同一个 WiFi IP 上,该怎么办?
  • 是的,IP 限制不是很可靠,但至少在某些情况下可能会有所帮助。如果你知道很多人会从同一个 IP 注册,那么你就必须在时间安排上建立这种容忍度——这可能最终不值得。
  • 嗯,我想一个更简单的解决方案可能是只使用 openid 验证,尽管假设 openid 源是有效的..
  • 如果浏览器可以发送mac地址就好了,所以我们至少可以试试mac限制
  • @ina 但是很多设备都允许更改mac地址?兔子洞没有结束。
猜你喜欢
  • 1970-01-01
  • 2014-09-13
  • 1970-01-01
  • 2014-06-04
  • 2014-06-24
  • 2014-02-10
  • 2012-10-06
  • 1970-01-01
  • 2013-01-13
相关资源
最近更新 更多