2

寻找这个问题的最佳解决方案(几乎所有社交网站都遇到这个问题)

我有一个用于我们社区的小型社交网站。其中一项功能是用户可以向系统中的用户发送电子邮件(就像 facebook 一样)

几天前,其中一位用户使用宏或其他自动化系统向所有用户发送了一封垃圾邮件。整个过程只用了 3 分钟,每个人都收到了那封邮件。我删除了该用户并添加了验证码以防止任何其他用户以这种方式发送垃圾邮件。但我确信这不是最佳解决方案。

所以想

  1. 只允许用户在 2 分钟内最多发送一封电子邮件
  2. 用户每天最多可以发送 100 条消息
  3. 如果他达到最大 100 块该用户

这同样适用于评论、在墙上发帖或发送添加为好友的请求以及其他情况。

查看此链接http://nedbatchelder.com/text/stopbots.html并考虑使用 Honeypot ..

但是我解释的垃圾邮件是针对注册激活用户的,还有其他最好的方法来防止他/她..吗?

4

1 回答 1

4

我认为有以下三个考虑:

  1. 创建帐户的频率和由谁创建?
  2. 哪些功能需要保护,如何保护?
  3. 用户如何确定他/她是受信任的,以及何时以及如何撤销该信任?

1. 限制新账户

您已经提到的第一点已通过验证码解决(至少暂时)。长期以来,Facebook 和谷歌都需要其他形式的可验证身份证明,例如手机号码,才能创建新帐户。其他网站使用基于推荐的注册,如果用户滥用,可以追溯到推荐人。许多网站对可以创建多少新帐户有某种限制。

2. 特征保护

除了允许注册用户访问之外,哪些功能标准需要额外的保护?

例如,任何暴露某人个人信息(姓名、联系信息等)的事情都应该以某种方式受到限制,无论是使用隐藏的电子邮件(如craigslist、Source Forge 和许多论坛系统),还是需要用户的批准在与其他人共享该信息之前(Facebook 好友和隐私设置)。

另外,您如何保护这些功能?节流?延迟访问更强大的功能,如 Stack Overflow?某种机器学习来分析行为模式并识别滥用行为?

3. 主动损害控制

最后,用户如何确定他们没有滥用,以及您采取哪些步骤来主动识别这些类型的用户?

例如,您可能会为电子邮件设置阈值,但如果用户发送的电子邮件过多,您可能会延迟它们或将它们放入审核队列,而不是关闭电子邮件。如果用户发送了许多相同的电子邮件或过多的电子邮件,您可能会决定暂时暂停他们的帐户或禁用对某些功能的访问。

另一个重要的考虑因素是,当合法用户的帐户遭到入侵时,您会怎么做?您会采取哪些措施来识别、锁定并最终恢复这些帐户?

应对攻击

对这些事件的常见第一反应是进行损害控制并立即清理混乱。不。备份您的日志和数据库,禁用用户而不是删除它,然后进行清理。几乎所有滥用行为都遵循某种类型的模式,为了识别、理解和防御这种模式,您需要能够检查留下的数据。

显然,您还需要通过禁用有问题的帐户或攻击方法(例如通过禁用电子邮件系统)来防止立即重复攻击,但要小心丢弃数据。

于 2011-08-13T19:09:00.847 回答