Eu tenho um site que, por motivos de regulamentação, pode não ser indexado ou pesquisado automaticamente. Isso significa que precisamos manter todos os robôs afastados e impedir que eles invadam o site.
Obviamente, tivemos um arquivo robots.txt que não permite tudo desde o início. No entanto, observar o arquivo robots.txt é algo que apenas os robôs bem comportados fazem. Recentemente, tivemos alguns problemas com robôs menos bem comportados. Eu configurei o Apache para banir alguns user-agents, mas é muito fácil contornar isso.
Portanto, a questão é: existe alguma maneira de configurar o Apache (talvez instalando algum módulo?) Para detectar um comportamento semelhante ao robô e responder? Alguma outra ideia?
No momento, tudo o que posso fazer é banir endereços IP com base na inspeção manual dos logs e isso simplesmente não é uma estratégia viável a longo prazo.
Respostas:
Você pode vincular a uma página oculta que, quando visitada, captura o agente do usuário e o endereço IP do bot e, em seguida, anexa um ou ambos a um arquivo .htaccess que os bloqueia permanentemente. É automatizado para que você não precise fazer nada para mantê-lo.
fonte
Você pode pegar carona no trabalho que outras pessoas fizeram na identificação de IPs ruins usando um módulo Apache que faz interface com a lista negra de IP do Project Honeypot . Se você estiver fazendo isso em larga escala, provavelmente seria educado oferecer um honeypot.
fonte
Como Gisle Hannemyr mencionou em um comentário , a melhor maneira de fazer isso é exigir logins de todos os usuários e não fornecer o conteúdo restrito a quem não estiver logado.
Se você não pode solicitar logins por algum motivo, ainda existem algumas alternativas que você pode usar (aviso: ambos são parcial ou completamente minha culpa):
O conjunto de regras principais do OWASP ModSecurity contém várias regras projetadas para detectar a automação, mesmo quando o bot tomou medidas para se disfarçar de navegador (por exemplo, falsificando sua sequência de agente do usuário). Se você estiver no controle total do seu servidor, como um VPS, servidor dedicado ou algo maior que isso, poderá usar essas regras com o ModSecurity .
Esse conjunto de regras também contém outras regras destinadas a interromper uma grande variedade de atividades inadequadas; se você ainda não olhou, definitivamente deveria.
Se você não estiver no controle total do seu servidor (ou seja, você estiver em hospedagem compartilhada na Web) e o seu host não permitir o uso de suas próprias regras ModSecurity, você poderá tentar algo no nível do aplicativo, como meu próprio Bad Comportamento . Comecei este projeto em 2005 para combater o spam de blog e os scrapers de conteúdo, como os que lhe dizem respeito. Pode ser adicionado a qualquer site baseado em PHP.
Devo também observar que muitas das regras do mau comportamento foram incorporadas ao conjunto de regras principais do ModSecurity, portanto, desde que você tenha ativado essas regras, a execução de ambas seria bastante redundante. Essas regras são anotadas no conjunto de regras principais como originárias de mau comportamento.
fonte