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

贊助商

分類目錄

贊助商

最新文章

搜索

ASP.NET Web.config屏蔽來(lái)源域名/禁止外部來(lái)路的寫(xiě)法

作者:admin    時(shí)間:2022-8-31 16:55:16    瀏覽:

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

首先要安裝“URL重寫(xiě)”模塊,安裝教程請(qǐng)看《IIS7.5 安裝url rewrite重寫(xiě)模塊【 附下載地址】》。

示例一:禁止外部來(lái)路

<?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>

解釋

禁止來(lái)路不為空,且不是“www.howtostagehomes.com”的來(lái)路。

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

示例二:屏蔽某個(gè)域名來(lái)路

如果你想單獨(dú)屏蔽某個(gè)域名的來(lái)路,那么可以修改一下上面的代碼:

<?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>

解釋

屏蔽來(lái)路域名為“123.com”的來(lái)路,我們可以這樣禁止該域名引用我們網(wǎng)站的資源。

示例三:屏蔽多個(gè)域名來(lái)路

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

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

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

總結(jié)

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

相關(guān)文章

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