我将为公众提供一种方式,通过电子邮件向我网站上列出的公司发送电子邮件(通过他们页面上的联系我们表格),但是,我想采取措施防止滥用(最好不要使用验证码)。
以下是我提出的一些选项 - 是否有更多,更好的方法来处理它? (我正在使用Ruby on Rails 3)
创建一个记录IP地址的表,然后对已经发送X个电子邮件的IP进行临时禁止(例如15分钟),比如一小时。这应该能够处理来自单个IP的人和垃圾邮件。垃圾邮件发送者切换IP是否常见? (我会删除超过一周的IP,因此表格应始终相当小)。
使用蜜罐 - 隐藏的表单字段。这仅对机器人有帮助。
一起使用上述两个
使用验证码。由于人们通常不喜欢它(并且它不是API的好选择),因此并不热衷于此。
还有更多我没有想到的吗?
答案 0 :(得分:1)
通过IP地址关联的联系表单提交超时是个好主意(总是使用REMOTE_ADDR服务器环境变量,你不能相信其他任何东西。还要为IPv6地址做好准备。)
蜜罐不会解决任何问题,只会让您的网站获得更多流量。
验证码很有用 - 但您不必使用排版/ OCR验证码(如ReCAPTCHA)。简单生成的数学表达式也可以。我认为你确实需要一个Captcha,因为联系表格是自动机器人的目标。
但最好的垃圾邮件防护是在收件人端。如果不这样做,请使用您自己的SMTP服务器,该服务器具有自己的基于内容的垃圾邮件过滤器。