Comment bien paramétrer Cloudflare pour bloquer les AI crawlers?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Comment bien paramétrer Cloudflare pour bloquer les AI crawlers?

    Bonjour à tous,

    j'espère que vous allez bien.

    J'ai une question à vous poser. Elle ne concerne pas Joomla directement même s'il y a un lien ténu.
    Mon site web est www.guillenphoto.com

    Tout d'abord, voici le contexte.
    J'utilise Hikashop pour ma boutique en ligne. J'ai un site web multilangue et multidevise.
    Pour avoir la devise correcte au moment de l'affichage des pages, Hikashop utilise le service en ligne IP2location.io.
    J'ai payé pour le service 100 000 requêtes par moi. Il y a quelques semaines, un problème est apparu. J'avais environ 15 000 visites par ajour. Matomo n'en enregistre que 1 000. Nicolas de Hikashop s'est aperçu que la plupart des requêtes venaient des AI crawlers. EN 7 jours, je n'avais plus de crédits IP2location.
    Il a effectué une correction intéressante en s'inspirant de la technique de Matomo. Mais cette modification n'est pas suffisante. J'avais encore 5 000 visites par jour. 4 000 de trop.

    J'ai donc décidé d'intégrer la version gratuite de Cloudfare pour des tests.

    Dans un premier temps, j'ai juste activé les options de contrôle des bots dans Cloudflare. Cela n'a pas réduit le nombre de requêtes. Je ne comprends pas l'intérêt de ces options.
    Dans un deuxième temps, j'ai créé deux règles en disant de bloquer tous les crawlers AI : Cloudflare propose 4 familles. Mêmes résultats.
    Dans un troisième temps, j'ai activé l'option Under Attack. Les crawlers sont bien bloqués. Seulement 1300 crédits sont utilisés. Tout fonctionne.

    Ma question est la suivante :
    j'ai peur qu'en activant cette option, les crawlers de contenus soient aussi bloqués. Je verrai dans quelques jours.
    Est-ce quelqu'un pourrait me dire comment il fait pour créer des règles dans Cloudflare pour bloquer efficacement ces AI Crawlers?
    Cela m'aiderait beaucoup.

    Merci par avance pour votre aide,
    Sincèrement,
    A. Guillen

  • #2
    Bonjour,

    Concernant les bots IA, j'utilise https://perishablepress.com/ultimate-ai-block-list/

    Cela peut se faire soit dans le robots.txt (même si les bots n'ont pas l'air d'en tenir vraiment compte..) ou, plus sûr, dans le .htaccess.

    Je l'ai intégré dans CG Secure.

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Bonjour,

      Je vous remercie beaucoup pour votre réponse et le partage de ces informations. J'apprécie beaucoup.

      Je viens de changer le robots.txt en ajoutant les lignes préconisées.
      J'ai aussi changer le .htaccess en ajoutant les lignes au début.

      Pour effectuer un test, j'ai désactivé l'option Under Attack dans Cloudflare. Je vais laisser tourner 48 heures. Je reviendrai vers vous pour vous dire si cette solution fonctionne avec mon site.

      J'écrirai aussi un autre post concernant Cloudfalre. Woluweb avait raison...

      Sincèrement,
      A. Guillen
      woluweb aime ceci.

      Commentaire


      • #4
        Bonjour Pascal,

        je poste ce commentaire pour dire qu'après 7 heures de tests, j'ai consommé 5 000 crédits sur mon IP2location.io.
        Je reviens immédiatement dans l'état Under Attack dans Cloudflare. Finalement, je pense que c'est la meilleure solution pour me protéger contre les crawlers indésirables. C'est la solution parfaite pour mon site web.

        J'ai l'impression que les crawlers n'ont pas d'éthique et que tout est bon pour analyser les sites. Le seul moyen de les bloquer est ce système mis en place par Cloudflare.
        Ce que je ne comprends pas, c'est comment le faire avec les Rules.

        J'espère que quelqu'un pourra m'éclairer sur ce sujet.

        Merci encore pour votre suggestion qui ne fonctionne pas sur mon site web.

        Sincèrement,
        A. Guillen

        Commentaire


        • #5
          Bonjour,

          Il est important de bien comprendre ce que fait réellement le mode "Under Attack" de Cloudflare. Ce mode ajoute une page intermédiaire basée sur JavaScript pour vérifier que le visiteur est bien un humain. Comme la majorité des bots ne traitent pas le JavaScript, ils se retrouvent bloqués par cette mesure, même lorsqu'ils sont légitimes, comme certains crawlers.

          Cloudflare maintient certes une liste de bots vérifiés (comme Googlebot, Bingbot, etc.), mais cette reconnaissance peut ne pas toujours fonctionner selon la configuration du site. Ainsi, activer le mode "Under Attack" en permanence peut perturber l’indexation de votre site par Google ou d’autres moteurs de recherche, surtout si les bots ne parviennent pas à passer le challenge JavaScript.
          À propos du mode "Under Attack"

          Ce mode est conçu pour répondre à une attaque DDoS (Distributed Denial of Service), c’est-à-dire une tentative de saturation d’un site par un flot massif de requêtes simultanées provenant de plusieurs sources, dans le but de le rendre indisponible. Ce n’est pas un mode à utiliser en continu, mais uniquement lors d’une attaque avérée.

          Que faire alors ?
          • Créer des règles personnalisées pour laisser passer les bots utiles (Googlebot, Bing, etc.).
          Cloudflare recommande de ne pas se fier uniquement au User-Agent, mais aussi aux plages d’IP officielles :
          https://support.google.com/a/answer/10026322?hl=fr
          • Activer la protection contre les crawlers IA dans Cloudflare > Sécurité > Bots

          Aperçu :



          Vérifier régulièrement les logs et les statistiques dans Cloudflare > Analytics pour voir si les règles mises en place sont efficaces.

          Pour aller plus loin, j’ai rédigé en 2024 un article (en anglais) pour Joomla Community Magazine :
          "Safeguarding your Joomla Content Against AI Crawlers"

          Joomla is no exception to the trend towards artificial intelligence, and there are extensions that allow you to link up with it and use it to create content, but it may also be that you don't want your content to be used to feed this enormous knowledge base.Ask yourself if your site has been used to train artificial intelligence. You can do the tes...


          On y parle notamment du protocole TDMRep et du site haveibeentrained.com qui permet de vérifier si votre contenu a pu être utilisé pour entraîner une IA.

          Search for your work in popular AI training datasets


          Bref, ne confondez pas protection contre les IA et mode anti-DDoS. Ce sont deux problématiques distinctes qui nécessitent des stratégies spécifiques.
          J’utilise Cloudflare depuis ses débuts, y compris dans sa version gratuite et payante, et je confirme qu’avec une configuration adaptée, c’est un excellent outil.

          Bonne continuation à tous.​
          Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

          Commentaire


          • #6
            Bonjour Daneel,

            je vous remercie pour votre réponse.

            Si vous spécifiez une liste d'IPs dans une liste et que je dis à Cloudflare que les IPs de cette liste sont autorisés, comment dire que les internautes "normaux" (êtres humains) peuvent accéder au site.
            Si je crée une règle de restriction, je pense que quelqu'un qui n'appartient à cette liste va être exclu.

            Je comprends bien la mise en place des rules pour exclure mais je ne comprends pas comment faire pour inclure.

            Vous avez encadrez la boite pour dire à Cloudflare de prendre en charge le robots.txt. Comment faire si des allow particuliers pour des dossiers ou des documents comme des images?

            Dans mon cas, l'activation des protections automatiques contre les bots et les bots IA n'a aucune incidence. J'ai une consommation énorme de crédits IP2location.io. C'est comme si les bots qui parcourent mon site sont invisibles.
            Pour l'instant Under Attack est très efficace.
            Je pense que les règles pourront l'être mais il faut que je comprenne bien qui je dois bloquer ou autoriser.

            Ai-je bien compris?

            A. Guillen
            Dernière édition par guillenphoto à 11/05/2025, 09h57

            Commentaire


            • #7
              Bonjour,
              Une stratégie GeoIP peut être ?
              Rien qu'un blocage des pays inutiles a votre business peut déja faire effondrer les connexions de bots malveillants.

              Commentaire


              • #8
                Pour faire simple, le défi Cloudflare (la fameuse page intermédiaire générée en mode "Under Attack") n'empêche pas les humains d'accéder au site : il leur impose seulement une vérification JavaScript temporaire. Une fois passée, l’accès est normal.

                La liste blanche que vous créez pour certaines adresses IP (comme les IPs de Googlebot ou Bingbot) permet simplement de ne pas leur imposer ce défi. Cela évite tout risque d’impact sur votre référencement.

                En réalité :
                • Ce sont surtout les bots non conformes ou malveillants qui échouent à passer le défi, car ils ne peuvent pas exécuter le JavaScript nécessaire.
                • Les utilisateurs légitimes, eux, voient simplement une page de vérification, mais peuvent accéder au site ensuite.
                ​Dans Sécurité > Règles de sécurité, vous pouvez :
                1. Cliquer sur "Créer une règle"
                2. Choisir "Règle personnalisée"
                3. Écrire une expression adaptée, ou utiliser Cloudflare AI (Cloudy) pour vous aider à générer la condition.

                Exemple : j’ai reçu des attaques fréquentes venant de certains pays n’ayant aucun lien avec l’activité du site.
                Plutôt que de tout bloquer manuellement, j’ai simplement demandé à Cloudy de me suggérer une règle adaptée à cette situation — elle a été générée automatiquement.
                • Vous pouvez combiner plusieurs conditions : IP, pays, user-agent, URI, présence d’un cookie, score de menace, etc.
                • Pensez à consulter les modèles préconfigurés à droite du bouton "Créer une règle" : ils couvrent des cas fréquents.
                Bien sûr, un bot très sophistiqué pourrait passer par un proxy ou des réseaux distribués.
                Mais si une majorité d’IP ou de comportements est identifiable comme l'indique Fred2FR3, il ne faut pas hésiter à appliquer des restrictions fermes, quitte à ajuster ensuite.


                Dernière édition par daneel à 11/05/2025, 11h17
                Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                Commentaire


                • #9
                  Bonjour Daneel,

                  je vous remercie pour vos explications.

                  L'idée est donc d'utiliser l'option Under Attack pour autoriser tous les êtres humains qui veulent consulter mon site web.

                  Ensuite avec les règles, je crée des listes blanches pour autoriser certains crawlers.

                  J'ai appliqué votre astuce de demander des requêtes.
                  Pour ma première requête, j'ai demandé comme requête : allow all google bots
                  La règle énoncée a été : (cf.verified_bot_category in {"Googlebot" "Mediapartners-Google" "AdsBot-Google"})

                  Ensuite, j'ai choisi l'action Skip : All remaining custom rules

                  Ai-je bien fait?

                  Merci par avance pour votre réponse,
                  Sincèrement,
                  A. Guillen

                  Commentaire


                  • #10
                    Il est nécessaire d’être plus radical que cela.
                    Quand j’évoque la geoIP, j'evoque votre terrain de jeu, de business, de visiteurs et j'en passe. Il est normalement aisé de supprimer les pays visiteurs, qu'ils soient, bot ou humain, ne serai-ce que pour les stats.
                    Par exemple, je me fiche d'un clic sur mon e-commerce en provenance de Chine ou de Russie. 1, j'peux pas rivalisé avec les frais de port, 2, ca me pourris les stats de visites, 3, cela me fait perdre du temps comme vous (je suis passé par la).
                    Comme l'a expliquer daneel, il s'agit de bien cibler la problématique.

                    En revanche, je gère des serveurs dédié en single site pour la majorité, google et les services qui intéressent mes clients passent, les autres IP Américaine, passez votre chemin ...

                    On est dans une époque de sauvages. Vous achetez de la visibilité, un gamin de 5 ans cliquera jusqu’à vous siphonner...
                    daneel aime ceci.

                    Commentaire


                    • #11
                      Je ne sais pas comment vous fonctionnez mais pour moi, il n'y a pas de mauvais pays. Il n'y a que des clients. J'ai des clients dans certains pays que vous citez.
                      Je ne peux pas appliquer votre principe. Je livre dans le monde entier.

                      Je n'ai pas vraiment le sens de vos propos. J'ai juste un problème technique à résoudre : j'ai simplement besoin d'autoriser les humains à aller sur mon site et autoriser les crawlers de contenus. C'est tout.

                      De plus, avec Cloudflare, je n'arrive plus à lancer le cron pour Akeeba Backup et le cron qui calcule le montant du change des devises.
                      Hikashop a boté en touche.
                      Akeeba me recommande des paramétrages qui ne fonctionnent pas.

                      Ce n'est vraiment pas facile. L'impact est terrible pour mon activité. Si dans quelques jours, je n'ai pas résolu ces problèmes, il va falloir que je fasse marche arrière.

                      Sincèrement,
                      A. Guillen
                      Dernière édition par guillenphoto à 11/05/2025, 18h57

                      Commentaire


                      • #12
                        Relativisez, nous avons donc quelques jours.
                        Je re-précise que les pays cités n'étaient qu'exemples dans un contexte précis. C'est justement ce contexte qu'il faut définir vous concernant.
                        Plus profondément, il existe des listes noires (RBL pour les mails, mais souvent les mêmes), vous n'êtes pas seul dans cette galère. Il suffit juste de la mettre en place. Je pourrait vous aider sur un dédié, mais là... je ne sais même pas sur quel hébergeur vous êtes !
                        Dernière édition par Fred2FR3 à 11/05/2025, 19h34

                        Commentaire


                        • #13
                          Je pense qu’un point essentiel mérite d’être clarifié, surtout face aux difficultés techniques que vous rencontrez.

                          Le mode "Under Attack" de Cloudflare n’est pas fait pour un usage quotidien

                          C’est une mesure d’urgence, temporaire, à activer uniquement en cas d’attaque DDoS réelle (déni de service distribué), c’est-à-dire lorsque votre site est saturé de requêtes malveillantes venant de multiples sources.

                          Ce mode ajoute un filtre JavaScript qui bloque par défaut tout ce qui ne peut pas le traiter — y compris :
                          • les API,
                          • les crawlers non explicitement reconnus,
                          • les outils comme wget, curl,
                          • les scripts cron,
                          • et parfois même les utilisateurs sur navigateurs atypiques.
                          Concrètement, cela explique vos soucis actuels :
                          • Les tâches cron échouent, car elles ne passent pas le filtre JavaScript.
                          • Le crawl des moteurs de recherche peut être interrompu.
                          • Vos clients humains ne peuvent pas tous accéder au site si leur navigateur ou environnement bloque ce script.
                          Ce qu’il faut faire maintenant :
                          1. Désactivez immédiatement le mode "Under Attack", sauf si vous subissez actuellement une attaque DDoS (et pas juste des crawlers un peu curieux).
                          2. Revenez en mode de protection standard (niveau de sécurité moyen ou élevé dans les paramètres Cloudflare).
                          3. Créez des règles personnalisées pour :
                            • Autoriser les bots utiles, comme vous l’avez commencé à faire.
                            • Exclure certains pays ou IPs si vous le jugez nécessaire (dans votre cas, ce n’est pas la priorité).
                          4. Si besoin, ajoutez des exceptions pour les URL de vos scripts cron via des règles basées sur le chemin (URI Path) ou l’IP source.
                          Pour vous aider à y voir clair :

                          Cloudflare propose des outils puissants, mais ils demandent une bonne stratégie d’usage.
                          Utiliser le mode "Under Attack" pour filtrer les robots est une erreur courante, mais qui bloque plus que ce qu’elle protège quand le site n’est pas en crise.

                          En résumé :
                          - "Under Attack" = uniquement en cas d’attaque DDoS réelle
                          - En temps normal = utiliser des règles fines et une sécurité bien configurée

                          Courage, vous êtes sur la bonne voie car la règle est bonne (cf.bot_management.verified_bot), il ne reste plus qu'à débloquer aussi pour le cron gérant les devises et pour akeeba
                          A vérifier mais ce serait un bypass pour des urls de type : https://guillenphoto.com/index.php?option=com_akeeba* ....
                          genre
                          Code:
                          ( http.request.uri.path contains "/cli/" or http.request.uri.path contains "akeeba" or http.request.uri.path contains "hikashop")
                          Cela permet de désactiver toutes les protections Cloudflare pour cette URL spécifique, ce qui rétablit le bon fonctionnement de vos sauvegardes akeeba, commande cli et hikashop

                          Je ne sais plus si vous utiliser le plan gratuit de cloudflare (qui est limité) ou non mais dans ce cas, voici 5 règles de page que vous pouvez configurer dans le plan gratuit de Cloudflare pour protéger votre site tout en laissant passer les scripts cron et les URL sensibles. Ces règles sont à adapter si vous avez des chemins différents.

                          Nom : Autoriser Akeeba Backup

                          Champ : URI Path
                          Opérateur : contains
                          Valeur : /index.php?option=com_akeeba
                          Action : Ignorer

                          Nom : Autoriser Cron HikaShop

                          Champ : URI Path
                          Opérateur : contains
                          Valeur : /index.php?option=com_hikashop
                          Action : idem que ci-dessus

                          dossier spécifique (/api/, /cli/, etc.) :

                          Nom : Autoriser API

                          Champ : URI Path
                          Opérateur : commence par
                          Valeur : /api/
                          Action : idem que ci-dessus

                          Sécurité par défaut sans mode "Under Attack"

                          Nom : Niveau sécurité moyen

                          Champ : URI Path
                          Opérateur : matches regex
                          Valeur : .*
                          (cela s’applique à toutes les pages)
                          Action : Challenge



                          Dernière édition par daneel à 12/05/2025, 08h29
                          Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                          Commentaire


                          • #14
                            Bonjour Daneel,

                            je vous remercie pour votre réponse.

                            Pour l'instant, j'utilise la version gratuite de Cloudflare. Je préfère effectuer des tests et comprendre avant de m'engager dans un abonnement.

                            Suivant vos conseils :

                            - j'ai désactivé l'option Underattack.

                            - j'ai créé une règle de sécurité pour le cron Akeeba. J'ai testé avec Webcron. La sauvegarde s'est bien passée.

                            - je ne comprends où créer ces 5 règles dont vous parlez.
                            Si je vais dans les pages rules, je n'ai pas accès à Disable Security et Cache Level Bypass.
                            Si je vais dans les security rules, même constat.
                            Si je vais dans les Cache Rules, idem.

                            - pour la dernière règle, je n'ai pas trouvé Security Level: Medium.

                            Pouvez-m'indiquer dans quelle section, je peux établir une règle avec ces paramètres?

                            Actuellement, le fait d'avoir désactivé Under Attack, je suis en train de perdre des crédits très rapidement.
                            Les bots malvaillants ne sont plus bloqués.
                            J'ai l'impression que l'activation des 2 paramètres concernant les bots AI sont totalement permissifs dans mon cas.

                            J'espère que vous pourrez m'aider.

                            Sincèrement,
                            A. Guillen

                            Commentaire


                            • #15
                              Si les bots sont aussi nombreux, on repasse en mode "under attack" et on analyse.

                              Quels sont les ips récurrents ? Vous pouvez en faire une liste d'une dizaine afin que l'on détermine leur provenance ?
                              Vous pouvez m'envoyer cette liste en privé, je ferai le tri.

                              Yann
                              Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X