BOnjour, je vous fais un retour d'expérience ( mais pas pour les robots)
D'abord le contexte. Mon site
www.collection-appareils.fr est hébergé chez OVH. J'utilise deux database. Une dédiée au forum et l'autre pour tout le reste du site. Depuis plusieurs mois, le forum était la cible d'attaques répétées. J'avais des centaines, voire milliers d'invités sur le forum et d'affichages de pages du site.

Google analytics
Le forum finissait par planter. Dans le reste du site, j'utilise quelques éléments du forum pour l'authentification des utilisateurs, quelques autres données extraits des messages, tant et si bien que les performances du site hors forum étaient aussi impactées. Je recevais de temps en temps des messages de la part d'OVH pour une saturation de CPU de la database du forum (je suis en mutualisé). Coté utilisateurs, c'était pas sympa.
J'ai essayé de filtrer les requêtes d'abord au niveau du forum en bannissant des IP. Insuffisant. J'ai essayé avec le htaccess, insuffisant.
N'étant pas trop technique, j'ai essayé d'installer Cloudflare. Ne comprenant pas trop comment ça fonctionne, j'étais un peu stressé. Comme expliqué dans la procédure Cloudflare, j'ai changé chez OVH le nom des serveurs DNS par ceux de Cloudflare. Cela a déclenché une instabilité du site, qui suivant le navigateur, l'ordinateur, le moment, fonctionnait .. ou pas. J'ai pris peur et j'ai fait machine arrière très rapidement.
Les attaques ont continué de plus en plus sévères.
Je me suis lancé de nouveau dans l'installation de Cloudflare, et j'ai attendu au moins 24 heures. Après un moment bordélique, tout s'est stabilisé, le site et le forum fonctionnant parfaitement bien.
Restait à paramétrer Cloudlfare (version gratuite) :
Cloudflare propose son propre analytics, qui permet de suivre précisément et facilement le trafic et de trouver les IP agressives. IL permet aussi une fois, les régles établies de suivre leur efficacité.
Rapidement, j'ai détecté plusieurs pays (forcément la Chine) d'où partaient les attaques et quelques IP précises.
La version gratuite de Cloudlfare ne permet d'établir que 5 règles personnalisées.
Chaque règle dit "Si condition alors on fait une action".
Les conditions sont du style "IP égale à xxx" ou "Pays égal à yy" etc
Les actions peuvent être un blocage simple, l'apparition d'une sorte de Capcha (On vérifie que vous êtes un humain) etc.
J'ai commencé par bannir certains pays. J'ai demandé à chatgpt de m'aider pour savoir comme exclure des séries complètes d'IP. Je suis vite arrivé aux 5 conditions maxi. Heureusement, les conditions peuvent être renseignées sous la forme si Ip est dans une série ou si ip est dans une autre série etc.. Cela permet d'avoir une seule règle au sens Cloudflare contenant plein de conditions.
Pour l'instant, je tourne avec 4 règles personnalisées :
Voici celle pour les pays :
(ip.src.country eq "CN") or (ip.src.country eq "SG") or (ip.src.country eq "PK") or (ip.src.country eq "VN") or (ip.src.country eq "HK") or (ip.src.country eq "BR") or (ip.src.country eq "KH") or (ip.src.country eq "BD") or (ip.src.country eq "MY") or (ip.src.country eq "IQ")
Voici celle qui oblige l'apparition du Captcha pour l'accès au forum
(http.request.uri.path eq "/phpBB3/ucp.php") or (http.request.uri.path eq "/phpBB3/memberlist.php") or (http.request.uri.path eq "/phpBB3/viewforum.php")
Voici celle pour le filtrage sur des séries d'IP
(ip.src in {43.0.0.0/8}) or (ip.src in {170.106.0.0/16}) or (ip.src in {17.0.0.0/8} or ip.src in {128.241.232.0/24})or ip.src in { 240d:c010::/32 } or (ip.src in {107.172.0.0/14}) or (ip.src in {164.52.0.0/17})
C'est la dernière qui s'enrichira le plus souvent je pense.
Depuis que j'ai mis cela en place, je suis revenu à environ 5000 nouveaux utilisateurs quotidiens comme avant la crise. Sur les dernières 24 heures, Cloudflare a atténué 255 000 requêtes sur le site. Pour l'instant, je n'ai reçu aucune remarque de la part des utilisateurs, d'avoir à cocher de temps en temps la vérification d'être humain. Et moi, je dors mieux.
Cloudflare me semblait une montagne à franchir, je ne trouvais pas vraiment de doc facile à comprendre (les forums techniques qui en parlent sont souvent pleins de termes abscons), mais finalement, ce n'est pas si difficile.
J'espère que mes mots approximatifs auront été utiles.