0

我有一个网站,您可以在其中注册新闻通讯。注册只需要用户单击即可在数据库中注册其电子邮件。我认为这可能是一个问题,因为没有冷却时间/时间限制或类似的东西,所以我想可以制作一些脚本来向我的数据库发送垃圾邮件。

我一直在考虑实施验证码或其他东西,但我宁愿在注册时进行某种冷却。例如,您每 15 分钟只能注册 2 封电子邮件,或类似的东西。这里最好的解决方案是什么?

4

2 回答 2

1

您使用的方法是单一选择加入。这不仅效率低下,而且可能是非法的。

由于效率低下,原因是您可能会收到大量无效电子邮件,并且您的系统正忙于向这些无效地址发送电子邮件。原因可能来自垃圾邮件尝试和用户的错误。

对于法律,在欧洲,您只能向选择加入您服务的人发送电子邮件。证明他们已选择加入的唯一有效方法是他们已确认电子邮件中的选择加入链接。http://www.lsoft.com/resources/optinlaws.asp单独拥有他们的电子邮件不是一个正当理由,因为您可以从其他人那里购买电子邮件

因此,正确的策略是使用双重选择加入。当用户填写电子邮件并提交时,他将收到一封电子邮件,要求他确认此操作。一旦确认,他将成为有效的订阅者并开始收到电子邮件。

此外,通过双重选择加入,您对垃圾选择加入的担忧将最小化,因为垃圾邮件发送者确认电子邮件变得更加困难,而且他们也没有太多的动机去做这件事。

于 2013-06-11T16:12:12.890 回答
0

如果您有一个注册表,您可以查看过去 15 分钟内特定用户的注册数

Signup.where("user_id = ? and created_at >= ?", user_id, 15.minutes.ago).count

如果上面的计数大于等于2,那么就不允许

于 2013-06-11T16:07:39.813 回答