通过rails上的表单防止链接垃圾邮件

use*_*065 3 security ruby-on-rails

我们的rails应用程序允许未登录的用户创建消息对象的消息注册用户,将其存储在我们的数据库中,然后将内容通过电子邮件发送给注册用户.在我们的暂存应用程序中,我们已经开始从抓取我们网站的机器人收到大量垃圾邮件.我们担心两件事:

  1. 给用户带来的不便
  2. SQL注入或我们没有考虑的任何其他安全漏洞可能会在此上下文中发生

有什么好方法可以解决这个问题?我知道我们可以实现验证码系统,但从用户体验的角度来看这并不理想.我们还可以阻止中国(或者攻击源自哪里)的地方的IP,但我们也可能希望为中国的用户提供服务.

此外,我相信rails具有内置功能来清理查询字符串并防止SQL注入,但默认情况下是否启用?在这种情况下,我们是否应该关注防止导轨默认不处理的其他事情?

有什么建议?

And*_*all 6

您可能希望在表单中实现蜜罐.它本质上是一个空白的隐藏字段,在您的表单中没有用户会填写(因为它是隐藏的),但垃圾邮件机器人可能会填写.尽管为了可访问性,请务必相应地标记字段.

在大多数情况下,Rails能够防止SQL注入,您可以在Rails安全指南中阅读更多相关信息.整个指南页面都是很好的阅读.