寻找此问题的最佳解决方案(几乎所有社交网站都遇到此问题)
我的社区有一个小型社交网站。其中一个功能是用户可以向系统中的用户发送电子邮件(就像Facebook一样)
几天前,其中一位用户使用宏或使用其他一些自动系统向所有用户发送了垃圾邮件。整个过程几乎不需要3分钟,每个人都收到了这封电子邮件。我删除了该用户并添加了验证码以防止任何其他用户以这种方式发送垃圾邮件。但我相信这不是最佳解决方案。
所以想着
同样适用于评论,发布在墙上,或发送添加为朋友请求和其他情况。
查看此链接http://nedbatchelder.com/text/stopbots.html并考虑使用Honeypot ..
但我解释的垃圾邮件是注册的激活用户,有没有其他最好的方法来阻止他/她..?
答案 0 :(得分:3)
我认为有三个注意事项:
你已经提到的第一点已经用验证码解决了(至少是暂时的)。 Facebook和谷歌长期以来需要一些其他形式的可验证身份证明,如手机号码,以便创建新帐户。其他网站使用referral-based signup,如果用户辱骂,可以追溯到引荐来源。许多网站都会对可以创建多少个新帐户进行某种限制。
哪些功能标准需要额外保护,而不仅仅是允许访问注册用户?
例如,任何暴露某人个人信息(姓名,联系信息等)的内容都应以某种方式受到限制,无论是使用隐藏的电子邮件(如craigslist,Source Forge还是许多论坛系统),或者在与其他人(Facebook朋友和隐私设置)共享该信息之前要求用户批准。
另外,您如何保护这些功能?节流?延迟访问更强大的功能,如Stack Overflow?某种machine-learning来分析行为模式并识别滥用行为?
最后,用户如何确定他们不是滥用,以及您采取了哪些步骤来主动识别这些类型的用户?
例如,您可以设置电子邮件的阈值,但是如果用户发送的电子邮件太多,您可能会延迟它们或将它们放入审核队列中,而不是关闭电子邮件。如果用户发送了许多相同的电子邮件或太多的电子邮件,您可能会决定暂停其帐户或禁止访问某些功能。
另一个重要的考虑因素是,当合法用户的帐户遭到入侵时您会怎么做,以及您采取了哪些措施来识别,锁定并最终还原这些帐户?
对这些事件的常见第一反应是进行损害控制并立即清理混乱。别。备份日志和数据库,禁用用户而不是删除它,然后然后进行清理。几乎所有的滥用都遵循某种类型的模式,为了识别,理解和抵御这种模式,你需要能够检查留下的数据。
显然,您还需要通过禁用违规帐户或攻击方法(例如禁用电子邮件系统)来防止立即重复攻击,但要小心丢弃数据。