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 pokazywania błędów aplikacji napisanych w PHP i ASP Classic

Aby mieć możliwość podejrzenia błędów generowanych przez PHP należy uaktualnić plik...

'Sys' is undefined

W większości przypadków gdy witryna generuje błąd "'Sys' is undefined" mamy do...

Znak dwukropka (":") powoduje błąd Bad Request

Do pliku web.config (niezależnie czy jest to aplikacja PHP czy ASP.NET) należy dodać wpis:...

Uruchomienie usługi WCF oraz błąd Memory gates checking failed because the free memory (..... bytes) is less than 5% of total memory

Aby uruchomic usługę WCF na serwerach Webio oraz uniknąć problemów z pamięcią podczas...