如果我反复向网站发布一百万次会怎么样?

时间:2011-07-22 23:20:58

标签: c# loops post defensive-programming

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

3 个答案:

答案 0 :(得分:2)

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

其他时候,这是故意的,它被称为DoS(拒绝服务)。很多网站都遭到了这些攻击,并不总是涉及到实际连接。它可能足以使底层操作系统的监听积压饱和。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

好吧,服务器将逐渐陷入困境,直到它弄清楚如何处理所有1,000,000个请求。可能的情况是,除非你有传奇的硬件,否则它将变得没有反应并且无用,会给想要访问它的每个人造成很大的干扰。这称为拒绝服务攻击或DOS。

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

  1. 要求用户在服务器处理其请求之前验证他们是否为人。这通常用Captchas完成。
  2. 使用智能防火墙丢弃数据包或弄清楚如何让服务器忽略来自发送过多的IP地址的请求。
  3. 确保每个人都非常喜欢您的网站,以至于他们甚至都不想做任何伤害它的事情。
  4. 1可能是最有效和最简单的,3是不可能的。由于缺乏经验,我无法提供很多关于2的建议,而且可能相当困难且容易开发。

    短篇小说:带上Captcha。 ;)