Blokowanie dostępu do witryny dla zdefiniowanych adresów IP za pomocą reguł URL Rewrite

W pliku web.config, w sekcji <system.webServer></system.webServer> należy dodać poniższy kod (trzy kropki w kodzie "..." oznaczają pozostałą część pliku web.config):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 ...
 <system.webServer>
   ...
  <rewrite>
   <rules>
    <rule name="Zablokowani uzytkownicy" stopProcessing="true">
       <match url=".*" />
       <conditions logicalGrouping="MatchAny">
         <!-- Włączenie blokowania adresów IP podanych w sekcji <rewriteMaps></rewriteMaps> -->
         <add input="{Blokowane IP:{REMOTE_ADDR}}" pattern="1" />
         <!-- Blokowane wielu adresów IP z wybranego zakresu, w tym przypadku 200.201.*.* -->
         <add input="{REMOTE_ADDR}" pattern="200\.201\.[0-9]+\.[0-9]+" />
       </conditions>
    <!-- Po dodaniu poniższej linijki żądanie zostanie przerwane --> 
    <action type="AbortRequest" />
    </rule>
   </rules>
  <rewriteMaps> 
   <rewriteMap name="Blokowane IP">
<!-- Wskazać adresy do zablokowania -->
    <add key="101.102.103.104" value="1" />
    <add key="90.91.97.99" value="1" />
    <add key="57.52.55.59" value="1" />
   </rewriteMap>
  </rewriteMaps>
  </rewrite>
 ...
</system.webServer>
...
</configuration>


Zamiast przerwania żądania można wybrać inny typ akcji:

 

               <!-- Wyświetlenie strony ze zdefiniowanym statusem kodu -->

               <action type="CustomResponse" statusCode="403" statusReason="Forbidden"
               statusDescription="Forbidden" />        

lub

              <!-- Przepisanie linku do utworzonego wcześniej pliku strony -->
               <action type="Rewrite" url="/error.html" appendQueryString="false" />

lub

              <!-- Przekierowanie do dowolnej strony -->

               <action type="Redirect" url="http://www.google.com" appendQueryString="false" />

  • 1 Klienci ocenili te informacje jako pomocne
Czy ta informacja była pomocna?

Podobne

Włączenie kompresji za pomocą mod_gzip

Kompresja GZIP przyspiesza ładowanie witryny dzięki skompresowaniu zawartości witryny jeszcze...

Przekierowanie wielu domen do domeny głównej z witryną

Moduł serwera IIS URL Rewrite pozwala klientowi przekierować wiele domen do domeny głównej z...

Błąd "The configuration section 'system.web.extensions' cannot be read because it is missing a section declaration"

Do pliku web.config w sekcji configSections należy dodać poniższe wpisy:  <sectionGroup...

Jak w prosty sposób wyłączyć dostęp do aplikacji?

W katalogu wwwroot wystarczy umieścić/utworzyć plik app_offline.htm. Następstwem tego będzie...

Routing w ASP.NET - wpisy konfiguracyjne w pliku web.config

Wpisy w pliku web.config wymagane do poprawnego działania routingu w ASP.NET:  ......