|
|
|
|
|
如果你的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="howtostagehomes.com" negate="true" />
<add input="{HTTP_REFERER}" pattern="^$" negate="true" />
</conditions>
<action type="AbortRequest" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
解釋
禁止來(lái)路不為空,且不是“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)文章