spip-contrib-extensions/bruteforcelogin
Par pierretux, le 16 avril 2026 à 08h41min :
refactor: remplacer le tracking SQL par fichiers temporaires et moderniser l’outillage qualité
Tracking des bruteforces :
- Les tentatives échouées sont désormais tracées dans tmp/bruteforces/ (fichiers
sérialisés par login et par IP) pour éviter une écriture SQL à chaque tentative - L’insertion en base (vue admin) n’est effectuée qu’au premier blocage
- Ajout d’un suivi par adresse IP en parallèle du suivi par login
- Suppression de la dépendance à job_queue pour la planification des suppressions
- Nouveau génie genie/bruteforces.php : purge toutes les 30 min les fichiers
expirés et les enregistrements en base (pipeline taches_generales_cron) - Nettoyage du répertoire tmp/bruteforces/ à la désinstallation du plugin
Qualité / outillage :
- Remplacement de phpcs + phpstan par EasyCodingStandard (ecs.php) et Rector (rector.php)
- Mise à jour composer.json : spip-league/easy-coding-standard, rector v2, spip-league/rector
- Suppression de phpcs.xml.dist, phpstan.neon.dist, phpstan-baseline.neon
- Fichiers lang migrés vers la syntaxe return […] (format SPIP moderne)
- Corrections de style uniformes (indentation, trailing commas, is_null → === null)
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Ajouté
.gitattributes
ecs.php
genie/bruteforces.php
rector.php
Supprimé
phpcs.xml.dist
phpstan-baseline.neon
phpstan.neon.dist
Modifié
.gitignore
action/supprimer_bruteforce.php
base/bruteforcelogin.php
bruteforcelogin_administrations.php
bruteforcelogin_autorisations.php
bruteforcelogin_pipelines.php
composer.json
formulaires/editer_bruteforce.php
genie/supprimer_bruteforce.php
lang/bruteforce_fr.php
lang/bruteforcelogin_fr.php
lang/paquet-bruteforcelogin_fr.php
paquet.xml