【问题标题】:IIS Dynamic IP restrictions in web.config locationweb.config 位置中的 IIS 动态 IP 限制
【发布时间】:2017-03-07 10:17:45
【问题描述】:

我正在尝试使用 IIS Dynamic IP Restrictions 来限制来自同一 IP 的请求。如果我从 IIS UI 编辑动态限制设置,我的模块正在运行,并且请求会受到很好的限制。这很好,但是我需要在不同的 URL 上有不同的费率。例如,登录应该比静态资源更严格。我正在尝试在 web.config 中使用 locations 来实现这一点。

<configuration>
  <location path="foo">
  <system.webServer>   
    <security>     
      <dynamicIpSecurity enableLoggingOnlyMode="true">       
         <denyByRequestRate enabled="true" maxRequests="1" 
            requestIntervalInMilliseconds="5000" />
      </dynamicIpSecurity>
   </security>  
  </system.webServer> 
  </location>
</configuration>

很遗憾,这不适用。我很确定它与我的应用程序无关,因为它在具有一个 HTML 文件的静态 Web 上也不起作用。我也很确定位置路径是正确的,因为如果我添加...&lt;deny users="*" /&gt;,请求就会被阻止。

【问题讨论】:

  • 您是否尝试将enableLoggingOnlyMode 设置为false?根据this page,当设置为true时,请求实际上并没有被阻塞。
  • 谢谢,是的,我试过 true、false,也没有属性。不幸的是,这对节流没有影响。

标签: asp.net iis ip-restrictions


【解决方案1】:

这是不可能的。来自模块说明:

这个模块可以配置成这样的分析和拦截 可以在 Web 服务器或网站级别完成。

这在内部实现为 HttpModule(即本机 HttpModule)。 HttpModule 为每个请求运行 - 位置不会影响它们。供参考检查 Exclude certain pages from using a HTTPModule

因此,您唯一的其他选择(如果您需要支持这个确切的模块)是将您的网站组织成几个迷你应用程序。

喜欢

/ -> 根网络应用程序

/Content -> 具有静态内容的 Web 应用程序

/Login -> 具有登录功能的 Web 应用程序

并在每个迷你应用程序中创建具有适当规则的 web.config。

【讨论】:

  • 谢谢。我希望对特定的休息服务方法有特定的规则,所以迷你应用程序不是我的选择。我将不得不使用不同的应用程序级节流模块...如果明天没有其他内容弹出,我将接受答案。
猜你喜欢
  • 2016-02-21
  • 1970-01-01
  • 2018-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多