Seu domínio está em plataforma Windows e você precisa bloquear um IP para que ele não acesse seu site? Veja agora como bloquear IP através do web.config.
Como bloquear IP através do web.config
Em primeiro lugar, você precisa acessar o FTP do seu domínio. Para domínios em ambiente Windows sugerimos o FileZilla. Veja o artigo Como acessar o FTP via FileZilla.
Caso não lembre da sua senha de FTP, veja o artigo Como alterar a senha de acesso ao FTP.
Após logar no FTP, localize o arquivo web.config e edite da seguinte forma (lembrando que os comandos devem ser feitos dentro da tag “system.webServer”):
<location path="Default Web Site">
<system.webServer>
<security>
<ipSecurity>
<add ipAddress="172.16.100.27" />
</ipSecurity>
</security>
</system.webServer>
</location>
Basta alterar o IP 172.16.100.27 pelo IP que você deseja bloquear.
Se há mais IPs a serem bloqueados, basta adicionar outra linha e assim por diante.
Outra opção para este tipo de bloqueio é o seguinte script:
<rules>
<rule name="RequestBlockingRule" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions logicalGrouping="MatchAny">
<add input="{REMOTE_ADDR}" pattern="172.16.100.27" />
</conditions>
<action type="AbortRequest" />
</rule>
Como bloquear um range de IP
Se você deseja bloquear um bloco inteiro de IP, você pode utilizar a seguinte regra:
<location path="Default Web Site">
<system.webServer>
<security>
<ipSecurity>
<add ipAddress="172.16.0.0" subnetMask="255.255.0.0" />
</ipSecurity>
</security>
</system.webServer>
</location>
Por ser uma máscara de rede classe B, esta regra bloqueia todos os IPs desde 172.16.0.1 até 172.16.255.254.
Da mesma forma como o exemplo anterior, basta adicionar outra linha para bloquear outro range de IP.
Bloquear tudo e liberar alguns IPs
Por outro lado, se você deseja bloquear totalmente o acesso e liberar apenas o seu IP, por exemplo, você pode usar a regra a seguir.
Neste exemplo estamos bloqueando todos e liberando apenas os IPs 172.16.1.10 e 192.168.10.198:
<security>
<ipSecurity allowUnlisted="false">
<add ipAddress="172.16.1.10" allowed="true"/>
<add ipAddress="192.168.10.198" allowed="true"/>
</ipSecurity>
</security>
A utilização deste script é mais conveniente para algum diretório específico que você queira restringir o acesso.
Por exemplo: http://dominio.com.br/sistema
Aqui também pode ser adicionado mais linhas para liberar mais IPs, se desejar.
Bloqueando Crawlers (bots)
Caso você esteja sofrendo com lentidões em seu site/aplicação, é interessante que você aplique um filtro em seu web.config para bloquear botnets, como este exemplo abaixo:
<rewrite>
<rules>
<rule name="Abuse User Agents Blocking" stopProcessing="true">
<match url=".*" ignoreCase="false"/>
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_USER_AGENT}" pattern="^.*(adscanner|ahrefsbot|alphabot|applebot|AhrefsBot|awariosmartbot|bingpreview|blexbot|borneobot|coccocbot-image|com.tinyspeck.chatlyio|duckduckbot-https|e.ventures\ investment\ crawler|garlikcrawler|gather\ analyze\ provide|gluten\ free\ crawler|googlebot-image|healthcheckbot|http\ banner\ detection|hubspot\ links\ crawler|hypestat|internet-structure-research-project-bot|iodc;\ odysseus|ips-agent|lightspeedsystemscrawler|linkdexbot|mail.ru_bot|masscan|masscan|megaindex.ru|mj12bot|msnbot|netcraftsurveyagent|netestate\ ne\ crawler|netsystemsresearch|nimbostratus-bot|nsrbot|obot|petalbot|plukkie|probethenet|riddler|safednsbot|seekport\ crawler|semanticscholarbot|SemrushBot|semrushbot-ba|seokicks-robot|serpstatbot|slack-imgproxy|slackbot|slackbot-linkexpanding|sogou\ web\ spider|startmebot|surdotlybot|telegrambot|tpradstxtcrawler|trendsmapresolver|tweetmemebot|unfurlist|xovibot|yahoo!\ slurp|yandexmobilebot|Yandex|ZoominfoBot|bingbot|DotBot).*$"/>
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden"/>
</rule>
</rules>
</rewrite>
Restando dúvidas ou precisando de ajuda, contate-nos via telefone ou chat e converse com nosso suporte. Tenha em mãos seu código de cliente e senha de atendimento para ser atendido com mais agilidade.