我正在尝试使用IIS 动态 IP 限制 https://www.iis.net/downloads/microsoft/dynamic-ip-restrictions限制来自同一 IP 的请求。我已经运行了该模块,并且如果我从 IIS UI 编辑动态限制设置,请求会得到很好的限制。这很好,但是我需要在不同的 URL 上有不同的费率。例如,登录应该比静态资源更严格。我正在尝试使用locations
在 web.config 中来实现这一点。
<configuration>
<location path="foo">
<system.webServer>
<security>
<dynamicIpSecurity enableLoggingOnlyMode="true">
<denyByRequestRate enabled="true" maxRequests="1"
requestIntervalInMilliseconds="5000" />
</dynamicIpSecurity>
</security>
</system.webServer>
</location>
</configuration>
不幸的是,这并不适用。我很确定它与我的应用程序无关,因为它也无法在具有一个 HTML 文件的静态网络上运行。我也很确定位置路径是正确的,因为如果我添加,请求就会被阻止...<deny users="*" />
.
这不可能。从模块描述来看:
该模块可以配置为分析和阻止
可以在 Web 服务器或网站级别完成。
在内部,这是作为 HttpModule(即本机 HttpModule)实现的。 HttpModule 针对每个请求运行 - 位置不会影响它们。供参考查看排除某些页面使用 HTTPModule https://stackoverflow.com/questions/70956/exclude-certain-pages-from-using-a-httpmodule
因此,您唯一的其他选择(如果您需要支持这个确切的模块)是将您的站点组织为多个迷你应用程序。
Like
/ -> 根网络应用程序
/Content -> 具有静态内容的 Web 应用程序
/Login -> 具有登录功能的 Web 应用程序
并在每个迷你应用程序中使用适当的规则创建 web.config。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)