通常,这类问题取决于社区的类型,以及您为作者提供的控制权。绝对实施安全和验证系统(例如CAPTCHA),但这是你必须经常评估的事情。如果用户表现良好,那就没关系。如果他们开始发送每个帖子的垃圾邮件,他们就会得到他们的手,那么这个功能可能就应该消失了。
在此之前,请考虑以下问题
(以及可能让您想到的任何其他特定于您的项目的问题)
- 您是否设置了良好的速率限制方案,以便用户无法通过随机生成的评论填充您的硬盘?
- 您是否有自动禁止用户/ IP地址的系统谁似乎辱骂?您是否对每页加载的评论数量/千字节数有限制(因此有人无法填写带有评论的页面,使页面永远加载/使您轻松地通过制作很多请求该页面??
- 是否可以在网页上弃用评论,以便用户可以轻松隐藏他们不想看的垃圾评论?
- 合法用户是否可以举报垃圾评论?
当然,这些都是适用于正式会员的所有问题。但它对匿名用户也很重要,而且由于匿名发布是不成熟的结果,因此botmaster更有可能将其作为目标。最重要的是要考虑"如果我是一个讨厌这个网站的熟练程序员,或者想通过广告来赚钱,我有一个小僵尸网络,我对这个网站做的最糟糕的事情是什么根据我拥有的资源使用匿名评论?"这是一个棘手的问题,这在很大程度上取决于你所拥有的其他东西。
如果你这样做,这里有一些指示:
- HTML-escape the comments ,当您在显示它们之前从数据库中提取它们时,否则您将对XSS开放。
- 确保您永远不会在用户提供的输入上运行任何类似eval的功能(这包括printf;做类似的事情,你想要坚持{{1}因此,printf并没有直接尝试解释
printf("%s", userStr);
。如果你关心为什么会出现这个问题,请谷歌查看Aleph One关于堆栈粉碎的开创性论文),
- 永远不要依赖输入的大小落在特定范围内(即使您在Javascript中进行检查;实际上,尤其是如果您尝试在Javascript中确保这一点)和
- 永远不要相信任何有关内容的信息(例如,不要对字符编码做任何假设。请记住,恶意用户不需要使用浏览器;他们可以制作他们的但他们想要打电话。)
- 默认为偏执狂如果有人在一分钟内发表了20条评论,请禁止他们评论一段时间。如果他们继续这样做,禁止他们的IP。如果他们是一个真正的人,并且他们关心,他们会要求你撤消它。另外,如果他们是一个真正的人,并且他们有一分钟发表20条评论的历史,那么很有可能这些评论会在一段时间内被改善。没有人 诙谐。