J'ai un site qui, pour des raisons réglementaires, peut ne pas être indexé ou recherché automatiquement. Cela signifie que nous devons éloigner tous les robots et les empêcher d'araignées sur le site.
De toute évidence, nous avons eu un fichier robots.txt qui interdit tout de suite depuis le début. Cependant, l'observation du fichier robots.txt est quelque chose que seuls les robots se comportent bien. Récemment, nous avons eu des problèmes avec des robots moins bien comportés. J'ai configuré Apache pour interdire quelques agents utilisateurs, mais il est assez facile de contourner cela.
Donc, la question est, existe-t-il un moyen de configurer Apache (peut-être en installant un module?) Pour détecter un comportement de type robot et répondre? D'autres idées?
Pour le moment, tout ce que je peux faire est d'interdire les adresses IP sur la base d'une inspection manuelle des journaux et ce n'est tout simplement pas une stratégie viable à long terme.
Réponses:
Vous pouvez créer un lien vers une page cachée qui, lorsqu'elle est visitée, capture l'agent utilisateur et l'adresse IP du bot, puis les ajoute l'un ou les deux à un fichier .htaccess qui les bloque définitivement. Il est automatisé, vous n'avez donc rien à faire pour le maintenir.
la source
Vous pouvez vous baser sur le travail effectué par d'autres personnes pour identifier les mauvaises adresses IP en utilisant un module Apache qui s'interface avec la liste noire IP de Project Honeypot . Si vous faites cela à grande échelle, il serait probablement poli d'offrir de faire fonctionner un pot de miel.
la source
Comme Gisle Hannemyr l'a mentionné dans un commentaire , la meilleure façon de le faire est d'exiger des connexions de tous les utilisateurs et de ne pas fournir le contenu restreint à toute personne non connectée.
Si vous ne pouvez pas exiger de connexion pour une raison quelconque, il y a encore quelques solutions de rechange que vous pouvez utiliser (avertissement: les deux sont en partie ou complètement de ma faute):
L' ensemble de règles OWASP ModSecurity Core contient un certain nombre de règles conçues pour détecter l'automatisation, même lorsque le bot a pris des mesures pour se déguiser en navigateur (par exemple, truquer sa chaîne User-Agent). Si vous contrôlez entièrement votre serveur, comme un VPS, un serveur dédié ou quelque chose de plus grand, vous pouvez utiliser ces règles avec ModSecurity .
Cet ensemble de règles contient également d'autres règles destinées à arrêter une grande variété d'activités inappropriées; si vous ne l'avez pas regardé, vous devriez certainement le faire.
Si vous ne contrôlez pas complètement votre serveur (c'est-à-dire que vous êtes sur un hébergement Web partagé) et que votre hôte ne vous autorise pas à utiliser vos propres règles ModSecurity, vous pouvez essayer quelque chose au niveau de l'application, comme mon propre Bad Comportement . J'ai démarré ce projet en 2005 pour lutter contre les spams de blogs et les scrapeurs de contenu comme ceux qui vous concernent. Il peut être ajouté à n'importe quel site Web basé sur PHP.
Je dois également noter que de nombreuses règles de mauvais comportement ont été incorporées dans l'ensemble de règles de base ModSecurity, de sorte que tant que vous avez activé ces règles, les exécuter serait plutôt redondant. Ces règles sont annotées dans le jeu de règles de base comme provenant d'un mauvais comportement.
la source