使用web.config根据IP地址阻止内容

时间:2014-06-10 06:13:39

标签: asp.net iis-8

是否可以在web.config中为IIS8阻止基于IP地址的特定内容?

例如:

<location path="somesite">
    <system.webServer>
        <httpRedirect enabled="true" destination="redirect/somesite" />
    </system.webServer>
</location>

是否可以根据IP地址阻止上述特定条目,并重定向到某种404错误页面?

2 个答案:

答案 0 :(得分:1)

我相信这不可能通过web.config,虽然我也可能是错的。但是我已成功使用global.asax来做这些令人讨厌的事情。请注意,您无法100%确定IP地址,它们可能会被欺骗,因此您不能将其用于安全评估任务。

步骤1.如果您没有

,请添加global.asax

步骤2.创建一个方法

      protected void Application_BeginRequest(object sender, EventArgs e)
      {
      }

每次请求资源时都会触发Application_BeginRequest。

步骤3.在此方法中,验证IP地址并将其重定向到您想要的位置。

我希望我很清楚。

答案 1 :(得分:0)

看看An IP Address Blocking HttpModule for ASP.NET in 9 minutes。它做你想要的(404),但将ips保存在一个单独的文件中。这更有意义,因为每次更改web.config都会导致应用程序重启。

如果您想在IIS级别阻止IP,请参阅http://technet.microsoft.com/en-us/library/cc730889%28WS.10%29.aspx