0

我将为公众提供一种向我网站上列出的公司发送电子邮件的方式(通过他们页面上的联系我们表格)但是,我想采取措施防止滥用(最好不是验证码)。

以下是我提出的一些选择——是否有更多更好的方法来处理它?(我正在使用 Ruby on Rails 3)

  • 创建一个记录 IP 地址的表,然后对已经在一个小时内发送 X 封电子邮件的 IP 设置临时禁令(比如 15 分钟)。这应该能够处理来自单个 IP 的人员和机器人垃圾邮件。垃圾邮件发送者切换 IP 是否常见?(我会删除超过一周的 IP,因此该表在任何时候都应该相当小)。

  • 使用蜜罐 - 隐藏表单域。这仅对机器人有帮助。

  • 以上两个一起使用

  • 使用验证码。不太热衷于此,因为人们通常不喜欢它(而且它不是 API 的好选择)。

还有更多我没有想到的吗?

4

1 回答 1

1

与 IP 地址相关联的联系表单提交超时是一个好主意(始终使用 REMOTE_ADDR 服务器环境变量,您不能信任其他任何内容。还要为 IPv6 地址做好准备)。

蜜罐不会解决任何问题,只会给您的网站带来更多流量。

验证码很有用 - 但您不必使用排版/OCR 验证码(如 ReCAPTCHA)。简单生成的数学表达式也可以正常工作。我认为您确实需要验证码,因为联系表格是自动机器人的目标。

但是最好的垃圾邮件保护是在收件人的一端。如果做不到这一点,请使用您自己的 SMTP 服务器,该服务器拥有自己的基于内容的垃圾邮件过滤器。

于 2012-07-07T22:49:01.233 回答