如何防止机器人操纵视图数量

时间:2017-08-24 15:37:37

标签: node.js security express bots

我正在创建一个人们可以上传和查看视频和其他内容的媒体网站,目前我有一个非常基本的系统来更新视图,其中每个媒体请求我将视图计数增加一个。好吧,只有一天,有人设置机器人开始垃圾邮件他的视频的端点。

防止这种情况的好方法是什么?我并不是真的想要禁止IP,我更愿意在请求之间有3-5秒的时间来考虑合法的请求,但是我没有任何真正好的想法,我会想到这一点,你会怎样提示?

1 个答案:

答案 0 :(得分:1)

  

在现实生活中,当你没有   喜欢某人,不想跟他说话,你做了什么?你得到   远离他。 你是怎么做到的?你的大脑已经储存了他的脸和以前关于他的记忆   知道在对抗的情况下该做什么 ..

与计算机相同,当ip行为异常时,您需要将IP存储到数据库

我们如何实现

当请求在很短的时间内发出多次,您的服务器需要将其存储到黑名单数据库。与 jails 在现实生活中的方式相同。只要想要,你就放手。当犯罪分子再次发送 时,您的服务器还需要知道要采取的操作。

采取什么行动?

我们放弃犯罪分子提出的请求

如何在短时间内释放犯罪分子?

您的服务器需要跟踪时间,在 黑名单 笔记本(数据库)中,您需要存储犯罪分子被投入监狱的日期,等等服务器知道何时自动释放他。

服务器要采取什么行动释放罪犯?

你需要有犯罪程度。第一次是level1,所以犯罪分子的请求每次都会被丢弃10秒,即

level2 => 您正在放弃请求更长的时间。

level3 => 您正在放弃请求

为了让您更好地理解,以下是黑名单中某些代码的示例..

IP=75.64.123.34; Date=Mon-Aug-13/2017-08-07; level=1

<强> 数据库

您需要创建jails ,具体取决于您使用的数据库

假设你有 mySQL ,你需要创建一个,它只用于列入黑名单的IP 例如如果您正在使用 mongoDB ,则应为此 任务 创建新架构。

对于每个请求,服务器必须检查列入黑名单的IPS

是的,您听到的是正确的,当客户提出请求时,服务器需要拔出该笔记本并查看客户端的IP是否在那里,如果不是,则必须让他通过

会降低服务器速度吗?

是的,可能不会太多,具体取决于您的 服务器的强大功能 。您还需要避免额外的代码并使过程尽可能简单。这样,您可以将慢速比率下拉到毫秒

希望你喜欢它!