技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

ASP.NET Web.config屏蔽来源域名/禁止外部来路的写法

作者:admin    时间:2022-8-31 16:55:16    浏览:

如果你的ASP.NET网站想屏蔽某些来源域名,或者屏蔽外部来源,那么可以在Web.config里实现,而实现方法也很简单

首先要安装“URL重写”模块,安装教程请看《IIS7.5 安装url rewrite重写模块【 附下载地址】》。

示例一:禁止外部来路

<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="rule1" stopProcessing="true">
            <match url="^(.*)$" />
              <conditions>
                <add input="{HTTP_REFERER}" pattern="www.webkaka.com" negate="true" />
                <add input="{HTTP_REFERER}" pattern="^$" negate="true" />
              </conditions>
              <action type="AbortRequest" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
  </configuration>

解释

禁止来路不为空,且不是“www.webkaka.com”的来路。

注意,这里的 negate="true" 不能少,它表示“与模式不匹配”的意思。

示例二:屏蔽某个域名来路

如果你想单独屏蔽某个域名的来路,那么可以修改一下上面的代码:

<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="rule1" stopProcessing="true">
            <match url="^(.*)$" />
              <conditions>
                <add input="{HTTP_REFERER}" pattern="123.com" />
              </conditions>
              <action type="AbortRequest" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
  </configuration>

解释

屏蔽来路域名为“123.com”的来路,我们可以这样禁止该域名引用我们网站的资源。

示例三:屏蔽多个域名来路

如果你需要屏蔽多个域名的来路,那么可以修改一下上面的代码:

<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="rule1" stopProcessing="true">
            <match url="^(.*)$" />
              <conditions logicalGrouping="MatchAny">
                <add input="{HTTP_REFERER}" pattern="1.com" />
                <add input="{HTTP_REFERER}" pattern="2.com" />
                <add input="{HTTP_REFERER}" pattern="3.com" />
              </conditions>
              <action type="AbortRequest" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
  </configuration>

解释

主要是在<conditions>节点里添加 logicalGrouping="MatchAny" ,表示任何匹配都符合条件,每个<add>相当于 OR 的“”条件。

如果你要编写“”条件,那么把 logicalGrouping="MatchAny" 改为 logicalGrouping="MatchAll" 即可,它表示每个<add>的模式都匹配了才符合条件。

总结

本文介绍了ASP.NET网站屏蔽来路的实现方法 ,需要安装URL重写模块,但设置方法很容易,编写的规则也简单。

相关文章

标签: Web_config  url重写  asp.net  
x
  • 站长推荐
/* 左侧显示文章内容目录 */