0

我只是想通过本地主机向网站发布一些内容以检索一些数据,突然间,我想到了这个想法:如果我创建一个帖子,将其放入运行超过 100 万次的 for 循环中会发生什么,然后向特定 URL 发送请求一百万次?我只是不想试图避免任何伤害,但我想知道。如果这会造成一些伤害,我该如何避免这种攻击?

4

3 回答 3

2

这种事情实际上发生了很多。有些是故意的,有些不是。举个例子:http ://en.wikipedia.org/wiki/Slashdot_effect

其他时候,这是故意的,它被称为 DoS(拒绝服务)。许多网站都因这些攻击而被关闭,并不总是涉及实际连接。使底层操作系统的侦听积压饱和就足够了。

如何避免它..你不能,基本上。你可以尽最大努力,但你永远无法真正避免它。毕竟,您的网站是可以访问的,对吗?

于 2011-07-22T23:26:21.363 回答
0

如果发生这种情况,您可以在防火墙中添加一条规则来阻止特定的 IP 地址。如果这是一个复杂的拒绝服务,我敢肯定 IP 地址是欺骗的,并且是随机的。但对于普通网站,您无需担心这一点。

于 2011-07-22T23:27:14.633 回答
0

好吧,服务器将逐渐陷入困境,直到它弄清楚如何处理所有 1,000,000 个这些请求。很有可能,除非您拥有传奇硬件,否则它将变得无响应且几乎无用,从而对每个想要访问它的人造成极大的干扰。这称为拒绝服务攻击或 DOS。

您可以采取一些措施来防止这种情况发生:

  1. 要求用户在服务器处理他们的请求之前验证他们是人类。这通常使用验证码完成。
  2. 使用智能防火墙丢弃数据包或找出如何让服务器忽略来自发送过多 IP 地址的请求。
  3. 确保每个人都非常喜欢您的网站,以至于他们甚至不会想到做任何事情来伤害它。

1 可能是最有效和最简单的方法,而 3 是不可能的。由于缺乏经验,我无法提供很多关于 2 的建议,而且它可能相当困难且容易被利用。

短篇小说:使用验证码。;)

于 2011-07-22T23:33:46.600 回答