【问题标题】:how to prevent a commenting system abuse [closed]如何防止评论系统滥用[关闭]
【发布时间】:2011-12-22 04:16:01
【问题描述】:

我在一个社交网站上工作,人们可以在其中评论帖子、照片、视频等。评论类似于 facebook 评论系统,但我担心它可能会被某些人滥用。人们可以输入一个单词然后按回车,或者如果有人登录,可以编写一个小的 javascript 程序并在任何帖子上发布无限数量的 cmets,最终它是一个表单发布到控制器方法。

处理这种情况的最佳方法是什么?我该如何实施这个系统?

【问题讨论】:

标签: web-applications


【解决方案1】:

突然想到一些想法 -

首先实施后期质量控制体系。这取决于您,但可能是最小字符/字数限制?显然,一个词的评论可能完全可以接受,所以这取决于你自己。另一种替代方法可能是使用正则表达式来确认帖子至少包含一个有效的英语 (?) 单词,或者对已知的黑名单网站列表进行搜索。

一点点服务器端验证可以在 MVC 中处理 :)

其次,您可以对新帖子实施时间限制,没什么大不了的,也许只有几毫秒或一秒左右。它有助于缓解拒绝服务,因为来自特定 IP 地址的任何请求如果太靠近另一个地址,则基本上不会被处理。这可能会在服务器端验证中再次处理,但在控制器之外 - 一组单独的类将负责根据时间框架跟踪发布的内容以及构成“垃圾”评论的内容。

第三种选择是在每条评论上实施可怕的 CAPTCHA(可能是 ReCaptcha),尽管从可用性的角度来看,这真的会让用户感到恼火;)易于实施且大量ReCaptcha 网站上的详细信息,包括 .Net 库 IIRC。

第四个选项可能是包含评论审核系统,因此 cmets 在出现之前必须得到 OP 的批准。与大多数博客非常相似。

第五个选项可能是基于 IP 地址禁止的工具,以帮助切断已知的垃圾邮件发送者。同样,有各种 API 可以帮助根据内容的垃圾内容过滤 cmets,例如 Akismet

这是一个相当大的话题,对于这些建议的通用性质,我们深表歉意。我希望一对夫妇可能有用:)

【讨论】:

    【解决方案2】:

    如果有人“在太短的时间内发布了太多东西”,请使用验证码。

    在连续的帖子之间也强制设置一些最小间隔。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 2018-02-26
      • 1970-01-01
      • 2015-10-02
      • 2013-02-25
      • 2012-05-04
      • 2017-09-10
      相关资源
      最近更新 更多