Page 1 sur 1

Bloquer les bot qui saturent phpBB

Publié : 11 janv. 2024, 13:03
par phil
Après plusieurs alertes d'atteinte de la taille max de la base de données, il s'est avéré que la table phpbb_sessions contenait un très grand nombre d'enregistrements (jusqu'à avoisiner les 200Mo, taille maxi autorisée pour cette base).
Une purge de la table corrigeait le problème, mais elle se remplissait de nouveau à grande vitesse (les 200Mo étaient atteints en quelques jours), ce qui laissait donc penser à une "attaque de bots". En regardant les enregistrements de plus près, ils avaient tous un champ "session_browser" (indiquant le user-agent de la session) contenant un nom de bot (les derniers analysés étant Amazonbot et DotBot).

La solution mise en place pour palier à ce problème est donc de bloquer les user-agent posant problème, via le .htaccess du site (et surtout celui du forum qui peut être spécifique). Après quelques recherches, quelques messages de forum et un article sont ressortis du lot pour permettre l'ajout du code suivant au .htaccess :

Code : Tout sélectionner

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTP_USER_AGENT} Mb2345Browser|LieBaoFast|zh-CN|MicroMessenger|zh_CN|Kinza|Datanyze|serpstatbot|spaziodati|OPPO\sA33|AspiegelBot|aspiegel|PetalBot|Amazonbot|DotBot|SemrushBot [NC]
  RewriteRule ^ - [F,L]
</IfModule>
Ce code permet de bloquer les user-agent dont le nom contient un de ceux de la liste. Il convient donc de mettre à jour cette liste si de nouveaux bots apparaissent dans la table.
Sources :
Message de forum : https://www.phpbb.com/community/viewtop ... #p15451566
Article : https://www.johnlarge.co.uk/blocking-ag ... pers-bots/
Affichage du user-agent : https://www.whatismybrowser.com/detect/ ... ser-agent/
Modification du user-agent : https://www.whatismybrowser.com/guides/ ... nt/firefox