技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

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

作者:admin    時間:2022-8-31 16:55:16    瀏覽:

如果你的ASP.NET網(wǎng)站想屏蔽某些來源域名,或者屏蔽外部來源,那么可以在Web.config里實現(xiàn),而實現(xiàn)方法也很簡單

首先要安裝“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.howtostagehomes.com" negate="true" />
                <add input="{HTTP_REFERER}" pattern="^$" negate="true" />
              </conditions>
              <action type="AbortRequest" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
  </configuration>

解釋

禁止來路不為空,且不是“www.howtostagehomes.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”的來路,我們可以這樣禁止該域名引用我們網(wǎng)站的資源。

示例三:屏蔽多個域名來路

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

<?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>節(jié)點里添加 logicalGrouping="MatchAny" ,表示任何匹配都符合條件,每個<add>相當(dāng)于 OR 的“”條件。

如果你要編寫“”條件,那么把 logicalGrouping="MatchAny" 改為 logicalGrouping="MatchAll" 即可,它表示每個<add>的模式都匹配了才符合條件。

總結(jié)

本文介紹了ASP.NET網(wǎng)站屏蔽來路的實現(xiàn)方法 ,需要安裝URL重寫模塊,但設(shè)置方法很容易,編寫的規(guī)則也簡單。

相關(guān)文章

標(biāo)簽: Web_config  url重寫  asp.net  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */