我正在一个社交网站上工作,人们可以对帖子,照片,视频等发表评论。评论类似于Facebook评论系统,但我担心它可能被某些人滥用。人们可以键入一个单词并按Enter键或者如果有人登录,可以编写一个小的javascript程序并在任何帖子上发布无限数量的评论,最终它是一个表单发布到控制器方法。
处理这种情况的最佳方法是什么?我怎么能实现这个系统?
答案 0 :(得分:0)
想到几个想法 -
首先实施岗位质量控制系统。这取决于你,但也许是最小的字符/字数限制?显然,一个单词的评论可能是完全可以接受的,所以这取决于你自己。另一种选择可能是正则表达式,以确认帖子包含至少一个有效的英语(?)单词,或搜索已知的黑名单网站列表。
一点点服务器端验证可以在MVC中处理:)
其次,你可以对新帖子实施时间限制,没有什么大的可能只有几毫秒,或者一秒左右。它有助于缓解拒绝服务,因为如果来自特定IP地址的任何请求过于紧密地落后于另一个请求,则基本上不会处理该请求。这可能会在服务器端验证中再次处理,但在控制器之外 - 一组单独的类将负责跟踪发布的内容以及基于时间范围构成“垃圾内容”评论的内容。
第三种选择是在每条评论上实施可怕的CAPTCHA(可能是ReCaptcha),尽管从可用性的角度来看,真的会让用户烦恼;)易于实现和关于ReCaptcha网站的大量细节,包括.Net library IIRC。
第四个选项可能是包含评论审核系统,因此评论必须在OP出现之前由OP批准。与大多数博客非常相似。
第五个选项可能是基于IP地址禁止的设施,以帮助切断已知的垃圾邮件发送者。同样,有各种API可以帮助根据Akismet等内容的垃圾邮件过滤评论。
这是一个非常大的话题,对于这些建议的通用性质感到抱歉。我希望一对夫妇可能有用:)
答案 1 :(得分:0)
如果有人在太短的时间内发布“太多东西”,请使用验证码。
强制连续帖子之间的最小间隔。