阻止访问者过度请求资源消耗页面的最佳方法是什么?

时间:2010-12-22 05:20:40

标签: asp.net asp.net-mvc asp.net-mvc-2

我是一名新手并尝试使用ASP.NET MVC开发类似黄页的门户网站。 我想知道会有一些不好的访问者过度请求门户网站页面减慢我的门户网站速度并阻止来自其他合法访问者的请求。

我当前的想法是在母版页中放置一个块(嵌入式代码块)来检查两个连续请求之间的间隔。如果间隔小于5秒(例如),我将拒绝/终止以呈现请求。

我的问题:

  1. 处理此问题的最佳方法是什么?
  2. 如果我的上述想法适用于解决此问题,我必须调用哪个函数来终止呈现过程(在执行资源密集型作业之前)?

  3. 编辑1:

    1. 我们可以在全局而不是按应用程序设置服务器(IIS设置)吗?

3 个答案:

答案 0 :(得分:3)

如果您正在提供只读页面,那么正确的缓存是您的第一道防线。您可以通过IP限制请求,但这需要另一种形式的查找。

如果攻击者可以侧移或删除它,则使用任何形式的客户端控制(如向母版页添加日期条目)都是毫无意义的。

如果您需要将帖子限制为提交表单,那么您应该首先查看对用户进行身份验证并发出允许一次提交的令牌,并拒绝发出新令牌,除非自上一个令牌发布以来已经过了一定的时间跨度

专注于首先快速建立您的网站。

答案 1 :(得分:1)

Re 1:确保您的页面快速渲染,使用输出缓存。获得足够的服务器权力来处理访问者。

回复:是的。它还可以确保快速被阻止的人。 Gratulations。有道理,但你更快(0.1秒或类似的东西)。

答案 2 :(得分:1)

我会通过甜甜圈洞缓存

来做到这一点