【问题标题】:How to allow only specific IPs to certain URLs of the project如何仅允许特定 IP 访问项目的某些 URL
【发布时间】:2020-09-01 09:03:08
【问题描述】:

我对 IIS 运行项目比较陌生,因此可能无法在这里了解所有方面。

我们正在运行一个 Web 应用程序,其中一个解决方案中有很多项目。在虚拟目录中使用的唯一项目是 Web 项目。现在,我需要限制对某个 URL 序列的访问,并且只允许对几个特定的​​ IP 地址进行访问。基于该 URL 运行代码的项目位于主虚拟目录之外,并且该项目正在编译为 dll 文件。

我尝试在相关项目中添加一个带有限制的新 web.config,但这没有任何效果。 下面的示例不允许 IP 限制,只允许整个路径。

    <security>
      <requestFiltering>
        <denyUrlSequences>
          <add sequence="/MyUrl" />
        </denyUrlSequences>
      </requestFiltering>
    </security>

据我了解,添加位置仅适用于当前虚拟目录。

向该 URL 添加特定于 IP 的限制的好方法是什么?可以在一般的 web.config 文件中完成吗?

【问题讨论】:

    标签: model-view-controller web-config iis-10


    【解决方案1】:

    您可以使用 URL 重写模块和此重写规则来防止特定 IP 到达特定 URL。

    这里有一个demo供大家参考:

    <rule name="test" stopProcessing="true">
          <match url="(.*)" />
             <conditions>                     
                 <add input="{REMOTE_ADDR}" pattern="xxx.xxx.xxx.xxx" />
             <add input="{URL}" pattern="^/MyUrl" />
          <action type="CustomResponse" statusCode="401" statusReason="permission required" statusDescription="Access is denied due to invalid credentials." />
     </rule>
    

    【讨论】:

      猜你喜欢
      • 2012-08-03
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      相关资源
      最近更新 更多