Login Armor regroupe 9 modules de protection du login WordPress dans un seul plugin gratuit : masquage de l'URL de connexion, anti brute force avec verrouillage en cascade et blocage de sous-réseaux, 2FA natif TOTP et Email OTP, 13 toggles de hardening, breach check Have I Been Pwned, headers de sécurité, journal d’activité, notifications Slack ou Discord, et suite WP-CLI. PHP 8.1+, GPL, zéro SaaS, zéro upsell, traduction française complète. Disponible sur WordPress.org.
Pas le temps ? Faites-le analyser par l'IA
wp-login.php : la cible n° 1 des attaques par force brute en 2026
Une attaque par force brute, sur WordPress, c'est une suite automatisée d'essais de mots de passe contre wp-login.php jusqu'à tomber sur la bonne combinaison. Rien de subtil, juste du volume. Et le volume, en 2026, est ahurissant.
Wordfence bloque environ 6,4 milliards d'attaques par force brute par mois sur son réseau, soit autour de 65 millions par jour. Patchstack a recensé 11 334 nouvelles vulnérabilités dans l'écosystème WordPress en 2025 (+42 % vs 2024), dont 58 % exploitables sans authentification. Et chez Sucuri, WordPress trône à 96,2 % des CMS infectés, avec 81 % des sites piratés via mots de passe faibles ou volés. Tendance 2025 : +45 % de volume en force brute, dopé par les botnets IA.
Vu de loin, ça peut paraître abstrait. Vu de près, c'est ton site. Si ta page /wp-login.php est exposée à l'URL standard, tu absorbes mécaniquement tout ce qui tourne. Les bots flaguent l'URL par défaut, lisent la version WordPress dans les meta tags, croisent ça avec une base de vulns connues, et te collent dans une file d'automatisation. Ce n'est pas une attaque ciblée. C'est de la tonte de pelouse à l'échelle du web.
Bon. La question n'est plus " est-ce que mon login est attaqué ? " mais " est-ce que mes défenses tiennent ? ". Et c'est exactement le sujet de cet article : un plugin construit pour ça, et seulement pour ça. Si tu es pressé et que tu veux directement aller à l'essentiel, Login Armor s'installe gratuitement depuis WordPress.org. Pour aller plus loin sur la sécurité globale d'une install, j'ai déjà publié un guide pour sécuriser WordPress étape par étape ainsi qu'un article dédié à la page de connexion WordPress.

Login Armor — Auteur unique : Fabrice Ducarme — Compatible WordPress 6.8 → 7.0 / PHP 8.1+ — GPL, sans freemium, sans appel SaaS — Disponible sur WordPress.org — Télécharger sur WordPress.org →
D'où vient ce plugin (et pourquoi c'est moi qui en parle)
Soyons clairs dès le départ : Login Armor, c'est mon plugin. Et pas dans le sens " j'y ai contribué, j'en parle de loin ". Au sens fort : j'en suis l'auteur unique à 100 %, du premier fichier au dernier. C'est un plugin que j'ai écrit seul, sans co-auteur, et dont je suis le seul mainteneur aujourd'hui.
Pour le contexte. Il y a plusieurs années, j'ai co-créé deux plugins de sécurité du login que beaucoup de monde connaît : WPS Hide Login (plus de 2 millions d'installations actives) et WPS Limit Login (plusieurs centaines de milliers). Ces deux plugins ont été cédés à la marque WPServeur, qui en a la charge depuis. Je n'en suis plus le mainteneur, je n'y touche plus, et c'est très bien comme ça. Ils continuent leur vie sous une autre main.
L'autre déclencheur, c'est plus prosaïque. Sur chaque WordPress que j'installe, je commençais par le même rituel : WPS Hide Login pour cacher la page de connexion, WPS Limit Login pour bloquer la force brute, un plugin de 2FA pour le second facteur, et WP Activity Log pour voir qui a fait quoi sur le site. Quatre plugins à chaque fois, à maintenir, à mettre à jour, à reconfigurer un par un, avec quatre interfaces différentes, quatre cycles de release, quatre points de défaillance. Un jour, j'en ai eu marre. Et j'ai eu envie de réunir exactement ces quatre fonctions dans un seul plugin moderne. Pas plus. Pas moins.
Login Armor V2 est l'aboutissement. Code modernisé en PHP 8.1+, zéro dépendance externe, zéro appel à un SaaS, zéro upsell, GPL à vie. Et écrit seul, justement parce que sur ce type d'outil j'avais besoin de ne pas négocier les choix.
Conflit d'intérêt assumé : ce que tu lis n'est pas un test indépendant. C'est un guide complet, par l'auteur. Et c'est peut-être précisément ce qui en fait l'intérêt. Qui mieux que moi peut te détailler ce que fait chaque module et pourquoi je l'ai conçu comme ça ? Si tu cherches une review pondérée à plusieurs voix, va lire les retours sur le forum WordPress.org. Ici, tu lis l'auteur.
Login Armor en une phrase : 9 modules, une seule extension
Login Armor est un plugin anti brute force WordPress qui sécurise tout le périmètre de l'authentification : la page de connexion, les tentatives, les comptes, le 2FA, l'audit, les notifications, et la ligne de commande. Neuf modules, un seul code, une seule fenêtre d'admin.

Les voici, une ligne par module :
- Hide Login : masque
wp-login.php / wp-adminderrière un slug aléatoire cryptographique - Brute Force Protection : verrouillage en cascade et blocage de sous-réseaux /24
- Hardening : 13 toggles de durcissement WordPress, en un clic
- Two-Factor Authentication : TOTP + Email OTP + codes de secours + appareils de confiance
- Login Page Security Headers : CSP, X-Frame-Options, Permissions-Policy sur la page de connexion
- Breach Check : vérification opt-in contre Have I Been Pwned en k-anonymat
- Detection Engine : reconnaissance automatique de 6 patterns d'attaque
- Activity Log : audit complet des actions d'administration
- Notifications : Email, Slack, Discord, webhook avec validation anti-SSRF
Chaque module est activable indépendamment, et un score de sécurité de 0 à 100 te dit en temps réel où tu en es. On y vient.
Protéger : 6 modules de défense active
Hide Login : masquer wp-login.php derrière un slug aléatoire
Premier réflexe en sécurité du login : ne pas être à l'adresse que tout le monde connaît. À la première activation, Login Armor génère un slug aléatoire de 8 caractères, dérivé d'une source cryptographique, et ouvre une modale de pré-activation avant de valider quoi que ce soit. Tu peux accepter le slug proposé, en générer un autre d'un clic, ou taper le tien. Option pratique : recevoir l'URL par mail au moment de l'activation, ce qui évite les classiques " zut, j'ai fermé l'onglet et je ne sais plus où c'est ".

Attention : coche bien l'option d'envoi par mail au moment de l'activation. Si tu fermes l'onglet sans noter le slug, tu te retrouves sur une 404 sans moyen évident d'accéder à ton admin. Heureusement, l'e-mail de récupération couvre ce cas, mais autant éviter le moment de panique.
Une fois activé, l'ancienne URL /wp-login.php ne redirige pas. Elle renvoie une 404 nette. Pourquoi pas une redirection ? Parce qu'une redirection bavarde laisse les bots comprendre où tu te caches. Une 404 silencieuse, ils passent leur chemin. Le flux de réinitialisation du mot de passe administrateur reste fonctionnel via le slug personnalisé, et un e-mail de récupération est disponible à la demande si l'admin a oublié son URL.
Brute Force Protection : verrouillage en cascade et anti-distribué
Le module phare. Il fait exactement ce que son nom indique, mais avec deux niveaux et une couverture étendue.
Niveau 1 : après un seuil configurable de tentatives échouées, l'IP est verrouillée pour 20 minutes (HTTP 429, Too Many Requests). Compteur de tentatives restantes affiché sur la page de connexion, page de verrouillage marquée Login Armor avec compte à rebours en direct. Niveau 2 : si l'IP récidive après le premier verrouillage, blacklist 24 heures (HTTP 403). Et pour les attaques distribuées qui tournent sur des dizaines d'IP voisines, blocage du sous-réseau /24 entier quand le pattern est détecté.

Ce qui change tout, c'est la couverture. Un anti brute force naïf ne surveille que le formulaire de login. Login Armor surveille six surfaces d'authentification : le login standard, la récupération de mot de passe (lost-password), le formulaire de reset, la création de compte (register), XML-RPC (avec neutralisation explicite de system.multicall qui sert à amplifier les attaques) et l'endpoint REST /wp-json/wp/v2/users qui sert à énumérer les comptes.
Whitelist d'IP de confiance disponible, configuration des seuils par site, et tout ça en SQL natif sans dépendance externe. Ce module à lui seul répond à la requête " plugin anti brute force WordPress ", et c'est volontaire.
Hardening : 13 leviers WordPress en un clic

Réduction de la surface d'attaque (5 toggles) : désactiver XML-RPC quand tu ne t'en sers pas, désactiver l'éditeur de fichiers du dashboard, masquer la version de WordPress, désactiver les mots de passe d'application, obfusquer les slugs auteur (/?author=1 ne révèle plus rien).
Durcissement des identifiants (3 toggles) : masquer les messages d'erreur de login (qui révèlent si c'est l'email ou le mot de passe qui est faux), bloquer l'énumération d'auteurs via REST, bloquer la création de comptes avec des usernames réservés (admin, root, test, etc.).
Filtrage des requêtes (5 toggles) : bloquer l'exécution PHP dans /uploads, désactiver le directory listing, restreindre l'API REST aux utilisateurs authentifiés, protéger les fichiers système sensibles (wp-config.php, .htaccess), pot de miel anti-bot avec ban d'IP automatique 24 heures pour ceux qui mordent.
Conseil : active les 13 toggles d'un coup en lot, et regarde quels services tu casses sur ton site. Tu désactives au cas par cas si quelque chose ne fonctionne plus. C'est plus rapide que d'activer un par un en testant chaque fois.
Two-Factor Authentication : 5 surfaces de protection
Login Armor inclut un module 2FA natif, sans dépendance externe et sans appel SaaS. Cinq surfaces de protection, qui couvrent les cas réels.
TOTP d'abord : compatible avec Google Authenticator, Authy, 1Password, Bitwarden et tout ce qui parle le standard RFC 6238. Le QR code est généré côté client, donc le secret ne quitte pas ton serveur.

Email OTP ensuite : un code à usage unique envoyé par mail si l'utilisateur n'a pas de TOTP. Codes de secours téléchargeables au moment de l'enrôlement, à imprimer et à ranger ailleurs. Appareils de confiance : possibilité de sauter le 2FA sur les navigateurs reconnus pendant une durée configurable de 7 à 90 jours, avec auto-révocation au reset du mot de passe ou à la rotation d'AUTH_KEY dans wp-config.php. Procédure de récupération admin enfin : si le premier admin du site perd tout, un lien signé à usage unique est envoyé à son email d'admin, valable une fois, expirant en 30 minutes.
Forçage par rôle (Administrator, Editor, Author, etc.) avec une période de grâce configurable pour laisser le temps aux utilisateurs de s'enrôler. Rate limiting sur la vérification : 10 échecs par fenêtre glissante de 15 minutes par IP, au-delà l'IP est verrouillée. Pour aller plus loin sur la 2FA en général, j'ai écrit un guide complet sur la 2FA WordPress qui couvre tous les plugins du marché.
Important : télécharge tes codes de secours au moment de l'enrôlement et range-les hors de ton site (gestionnaire de mots de passe ou impression). Sans eux et sans accès à l'email d'admin, la seule porte de récupération qui reste, c'est WP-CLI en SSH. Mieux vaut prévoir avant que constater après.
Login Page Security Headers : CSP, X-Frame-Options, Permissions-Policy
Petit module, gros impact. Login Armor pose trois en-têtes HTTP de sécurité uniquement sur wp-login.php (pas sur tout le site, pour éviter de casser un thème ou un constructeur de pages) : Content Security Policy strict, X-Frame-Options en DENY pour empêcher l'iframe et donc le clickjacking, et Permissions-Policy pour couper les API navigateur sensibles sur cette page.
Deux préréglages : standard (compatible avec la plupart des installations) et strict (pour les paranoïaques). À activer une fois, oublier après. Ça bloque l'extraction de credentials via iframe malveillante et ça ferme la porte au MIME-sniffing de fichiers exotiques uploadés en /uploads.
Breach Check : Have I Been Pwned en k-anonymat (opt-in)
Tu te souviens des fuites Yahoo, LinkedIn, Adobe, Dropbox, Last.fm, Tumblr ? Le mot de passe que tes utilisateurs réutilisent depuis 2014 est probablement dans une base publique. Login Armor peut vérifier ça, avec une garantie de confidentialité réelle.
Le mécanisme s'appelle k-anonymity. Quand un utilisateur se connecte ou crée un compte, Login Armor calcule le SHA-1 de son mot de passe en local, n'envoie à Have I Been Pwned que les 5 premiers caractères du hash, reçoit en retour environ 500 hashes candidats, et compare en local pour voir si le hash complet matche. Le mot de passe en clair ne sort jamais du serveur. Le hash complet ne sort jamais non plus. Aucun compte HIBP requis, aucune clé API.
Vérification optionnelle des emails à la création de compte ou au changement d'adresse via XposedOrNot, même logique. Fail-soft : si l'API ne répond pas en 3 secondes, on laisse passer (pas question de bloquer un login parce qu'un service tiers est down). Cache 24 heures pour ne pas repinger pour rien. Notice factuelle non alarmiste affichée à l'utilisateur (" ce mot de passe est apparu dans une fuite publique connue "), avec option de forcer la réinitialisation. Mais le compte n'est jamais verrouillé. C'est un signal, pas une sanction.

Surveiller : 5 modules d'observation
Protéger c'est bien. Voir ce qui se passe, c'est mieux. Sans visibilité tu ne sauras jamais si tes défenses tiennent ou si tu nages dans une attaque depuis trois semaines.
Detection Engine : 6 patterns reconnus automatiquement
Le moteur tourne en arrière-plan et corrèle les évènements bruts pour reconnaître 6 patterns d'attaque : force brute classique (volume + même IP), credential stuffing (volume + IPs distinctes + même username), énumération (passage en revue des auteurs et endpoints), attaque distribuée (IP voisines /24 ou ASN identique), attaque post-compromission (un compte légitime se met soudain à scraper l'admin), et attaque ciblée (peu de volume, une IP, un username précis).
Chaque pattern reçoit un niveau de sévérité (info, warning, critical) et une recommandation d'action. Tu n'as pas à corréler à la main dans un journal de 50 000 lignes. C'est fait pour toi.
Incidents Dashboard : 1 ligne par attaque, pas par évènement

Le piège classique d'un journal de sécurité, c'est qu'il liste tous les évènements. 4 000 lignes de tentatives échouées, et tu cherches le grain de sable. Login Armor fait l'inverse : un incident = une attaque, regroupée par pattern. Si une force brute distribuée envoie 2 800 tentatives sur 12 heures depuis 47 IP voisines, tu vois une ligne. Pas 2 800.
Sur la capture ci-dessus, un cas typique : un pattern POST COMPROMISE flaggé en CRITICAL, 4 tentatives, 1 IP, 1 username (admin). Une seule carte, et tu sais déjà ce qu'il faut investiguer. Drill-down complet quand tu cliques : chronologie corrélée minute par minute, badges MATCH et RELATED qui relient les récidives, pastilles " IP verrouillée " et " Sous-réseau bloqué " directement sur la carte. Et surtout, des actions inline : Investigate, Block subnet, Unblock IP, Mark resolved, Ignore. Tu ne sors jamais de la vue.

Le drill-down ci-dessus raconte l'attaque qui devrait te glacer le sang : 4 échecs de mot de passe en 4 secondes, puis un succès. Pattern POST COMPROMISE, parce que c'est exactement la signature d'un compte qui vient de tomber. Le panneau " What happened " te résume la situation, " What to do " te dit immédiatement la bonne action (reset du mot de passe + audit des modifs récentes), et les suggested actions sont prêtes à être déclenchées en un clic. Quand tu fais de la sécurité opérationnelle sur 30 sites, ça change la vie.
Events Log : journal complet, filtres et export CSV

Pour le grain fin quand tu en as besoin. Toutes les tentatives de connexion (réussies et échouées) y passent, avec horodatage à la seconde, IP (IPv6 supporté en affichage propre, je tiens à le préciser parce que c'est un classique des plugins qui le tronquent), user agent, username tenté, statut, et lien vers l'incident parent quand il y en a un.
Filtres : statut (succès, échec, verrouillage), IP (exact ou pattern), identifiant tenté, période (dernière heure, 24h, 7 jours, 30 jours, custom), recherche libre. Export CSV en un clic pour balancer le tout dans un tableur ou dans un SIEM. Rétention configurable indépendamment du log d'activité (j'y viens).
Activity Log : audit complet des actions admin

L'Events Log surveille le login. L'Activity Log surveille tout le reste de l'admin. Création, modification ou suppression d'un utilisateur, changement de rôle, publication ou suppression d'un article, upload ou suppression d'un média, install ou activation d'un plugin, switch de thème, modification d'options critiques. Avec à chaque fois : qui, quoi, quand, depuis quelle IP, et la valeur avant/après quand c'est pertinent.
Sur un site multi-utilisateurs, c'est ce qui te permet de répondre à la question " qui a touché à ça ? " sans deviner. Rétention configurable séparément (par défaut 90 jours). Export CSV. Compatible RGPD : tu peux purger sur demande tous les logs liés à un identifiant pour traiter une demande de droit à l'oubli sans tout effacer.
Dashboard Widget : 6 indicateurs sur l'accueil admin

Petit mais utile. Sur l'accueil de l'admin WordPress, un widget Login Armor affiche six indicateurs en un coup d'œil : statut global (PROTECTED, AT RISK, VULNERABLE), tentatives bloquées sur 24 heures, incidents ouverts, nombre d'IP verrouillées en cours, taux d'adoption 2FA des comptes administrateurs, et score de sécurité 0-100.
Sparkline 14 jours sur les tentatives bloquées pour voir la tendance d'un coup d'œil. Et un CTA " Quick win " contextuel : si tu n'as pas activé Hide Login, le widget te le dit avec le gain de score chiffré (" Activer Hide Login = +15 points "). Tu cliques, c'est fait.
Piloter : 3 modules de contrôle
Notifications multi-canaux
Tu ne vas pas vivre dans le dashboard Login Armor. Donc le plugin pousse les évènements importants là où tu es vraiment. Quatre canaux : email (vers une ou plusieurs adresses, configurable par sévérité), Slack (webhook entrant), Discord (webhook entrant), et un webhook générique pour ton outil maison ou ton SIEM.
Le webhook générique embarque une validation d'URL anti-SSRF native : impossible de pointer un webhook vers localhost, 127.0.0.1, des IP privées (10.x, 192.168.x, 172.16-31.x), ni vers les IP de service cloud sensibles (169.254.169.254 et compagnie). Limitation de débit par canal pour ne pas spammer (un canal Slack noyé sous 200 alertes en 5 minutes, c'est juste un canal qu'on désactive). Configuration fine : tu peux dire " pour Slack, seulement les sévérités critical ", " pour email, info+ ", " pour le webhook, tout ".
WP-CLI pour scripts et urgences SSH
Pour les sites où tu travailles en SSH, ou pour automatiser via CI, Login Armor expose une suite WP-CLI complète. Les sous-commandes principales :
wp login-armor status # État des modules + score
wp login-armor reset-slug --slug=ma-cle # Change le slug Hide Login
wp login-armor unblock 203.0.113.42 # Déverrouille une IP
wp login-armor whitelist add 198.51.100.0/24 # Ajoute un sous-réseau
wp login-armor incidents list --severity=critical
wp login-armor purge-logs --days=30
wp login-armor 2fa reset --user=admin # Réinitialise le 2FA d'un user
wp login-armor 2fa devices list --user=admin
wp login-armor hardening enable disable_xmlrpc
C'est précieux dans deux cas : la gestion en lot sur 50 sites (script bash + WP-CLI distant), et la récupération d'urgence quand tu es enfermé dehors et que tu accèdes à ton serveur en SSH. wp login-armor 2fa reset --user=fabrice, et tu rentres. À mettre dans la liste des choses qui te sauvent à 2h du matin.
Score de sécurité 0-100 : un guide d'activation contextuel

Score pondéré, calculé en fonction des modules réellement activés. Pondération exacte : 2FA = 20 points, Hide Login = 15, Brute Force = 15, Detection Engine = 10, Activity Log = 10, Login Headers = 10, Breach Check = 10, Hardening = 10 points proratés (sur les 13 toggles activés). Total = 100.
Un anneau de progression sur l'écran Settings, et des suggestions contextuelles directement à côté du toggle correspondant. Du genre " Activer Hide Login ferait passer ton score de 56 à 71 ". C'est bête, mais c'est ce qui transforme un plugin de sécurité en assistant qui te tire vers le haut au lieu d'un panel de cases à cocher dont tu ne sais pas par où commencer.
Sous le capot : ce qui rend Login Armor différent
Pile technique et compatibilités
Login Armor V2 demande PHP 8.1 ou plus, et tourne sur WordPress 6.8+ (testé jusqu'à la 6.9 actuelle). Et bonne nouvelle pour les early adopters : le plugin est aussi déjà testé en avant-première sur WordPress 7, dont la sortie est prévue le 20 mai 2026. Tu pourras passer à la 7.0 sans avoir à attendre une mise à jour de Login Armor. Multisite-ready, sous-domaine et sous-répertoire, avec configuration indépendante par site (chaque site a ses modules, ses journaux, ses seuils). Compatibilité reverse proxy native : la détection de l'IP cliente via X-Forwarded-For est configurable (chaîne d'IP de confiance), ce qui fait que derrière Cloudflare ou un load balancer tu logges la vraie IP, pas celle du proxy.
Zéro dépendance, zéro SaaS, zéro upsell, GPL à vie
Pas de dossier vendor/ Composer dans le plugin. Pas de bundle JavaScript lourd téléchargé depuis un CDN externe. Aucun appel à un SaaS, sauf opt-in explicite pour Breach Check (HIBP et XposedOrNot, déjà détaillé). Aucune version premium, aucune popup d'upsell, aucun tracking, aucune télémétrie. GPL à vie.
Côté stockage : 3 tables custom dans la base WordPress ({prefix}_loginarmor_events, {prefix}_loginarmor_incidents, {prefix}_loginarmor_activity). Rien ne quitte le serveur. Rétention configurable, purge automatique, export CSV à la demande. C'est ton site, c'est ta donnée.
Empreinte runtime maîtrisée
Sur un flux de connexion normal, Login Armor ajoute moins de 2 millisecondes de SQL, mesuré sur un serveur PHP 8.2 / MariaDB 10.6 standard. Les hot paths sont indexés, les compteurs de tentatives utilisent du SQL incrémental (pas de SELECT avant UPDATE), et le moteur de détection tourne en hook différé pour ne pas bloquer la requête de login.
Traduction française complète : 907 chaînes
Détail qui n'en est pas un. Le plugin est développé en source anglaise (US) et intégralement traduit en français : 907 chaînes dans le catalogue fr_FR, conformes au glossaire Polyglots WordPress FR. Écriture épicène, apostrophes courbes, espaces insécables avant les ponctuations doubles, majuscules accentuées (À, É, È, Ç). C'est plus de boulot que de coller le tout dans Google Translate, mais sur un plugin qu'on installe pour un public français (admins de sites associatifs, indépendants, agences), ça change la perception.
Login Armor face à ses ancêtres : WPS Hide Login + WPS Limit Login
Comme indiqué plus haut, j'ai été co-créateur de WPS Hide Login et WPS Limit Login, deux plugins que je ne maintiens plus (c'est WPServeur qui en a la charge). Login Armor ne cherche pas à les remplacer ni à les attaquer. Il propose autre chose. Voici factuellement ce qui change.
| Fonctionnalité | WPS Hide Login | WPS Limit Login | Login Armor V2 |
|---|---|---|---|
Masquage de wp-login.php | Oui | Non | ✅ Oui |
| Slug aléatoire crypto à l'activation | Non | Non | ✅ Oui (8 caractères) |
| Modale de pré-activation (choix slug) | Non | Non | ✅ Oui |
| Limitation des tentatives | Non | Oui | ✅ Oui |
| Verrouillage à 2 niveaux (20 min + 24 h) | Non | Non | ✅ Oui |
| Blocage de sous-réseaux /24 | Non | Non | ✅ Oui |
| Couverture XML-RPC + REST users | Non | Partielle | ✅ Oui |
| Hardening WordPress (toggles dédiés) | Non | Non | ✅ 13 toggles |
| 2FA natif (TOTP + Email + codes) | Non | Non | ✅ Oui |
| Appareils de confiance + récup admin | Non | Non | ✅ Oui |
| Breach Check (HIBP + XposedOrNot) | Non | Non | ✅ Oui (opt-in) |
| Headers de sécurité sur la page de connexion | Non | Non | ✅ Oui |
| Detection Engine (6 patterns) | Non | Non | ✅ Oui |
| Activity Log admin | Non | Non | ✅ Oui |
| Notifications Slack / Discord / webhook | Non | Non | ✅ Oui |
| Suite WP-CLI dédiée | Non | Non | ✅ Oui |
| Score de sécurité 0-100 | Non | Non | ✅ Oui |
| Multisite (sous-domaine + sous-répertoire) | Oui | Oui | Oui |
| Zéro appel SaaS | Oui | Oui | Oui (sauf opt-in) |
Bref. WPS Hide Login fait très bien le masquage d'URL, point. WPS Limit Login fait très bien la limitation de tentatives basique, point. Ce sont des outils mono-fonction, et c'est leur force : tu en installes un, il fait son job. Login Armor s'adresse à ceux qui veulent réunir tout le périmètre auth dans un seul plugin moderne, avec tout ce que la décennie écoulée m'a appris sur ce qui manque dans cette catégorie.
Et une chose que je tiens à préciser : Login Armor n'est pas un couteau-suisse. Tu vois certaines extensions empiler 75, 100, parfois 150 fonctions dans un seul plugin (gestion login + scan malware + WAF + cache + SEO + analytics + capture de leads + et et et…). C'est dangereux. Plus la surface fonctionnelle est large, plus la surface d'attaque l'est aussi, plus les dépendances s'accumulent, et plus l'audit de sécurité du plugin lui-même devient difficile à tenir dans la durée. Login Armor regroupe certes 9 modules, mais tous tournent autour d'un seul périmètre : l'authentification, la connexion, et les logs liés au login WordPress. Une fonction globale, oui, mais une fonction extrêmement ciblée. Ce qui me permet, à moi en tant qu'auteur unique, de garder l'audit de sécurité du plugin tractable, et son suivi à long terme tenable. Différent, pas mieux. Selon ce que tu cherches.
Et face aux suites all-in-one : Wordfence, Solid Security, AIOS
Là on parle d'un autre étage. Wordfence, Solid Security (ex iThemes Security) et All-In-One WP Security sont des suites de sécurité complètes : Web Application Firewall, scan de malware, intégrité des fichiers, IP reputation, parfois protection DDoS au niveau app. Elles couvrent un spectre large, login inclus.
Login Armor ne joue pas dans la même catégorie. Il se concentre sur l'authentification, et seulement ça, avec 9 modules spécialisés, sans bloat, sans freemium, sans appel SaaS. C'est complémentaire d'un WAF généraliste, pas concurrent. Si ton site critique mérite un WAF + un scan + un audit fichier, prends Wordfence ou équivalent. Si le login est ton sujet (et c'est le cas sur la grande majorité des sites WordPress moyens, à supposer que tu ne stockes pas de données médicales ou bancaires côté serveur), Login Armor + un bon fichier .htaccess suffisent (j'ai écrit un guide sur les règles htaccess essentielles qui complète bien le tableau).
Installation et activation : 5 minutes chrono
Workflow standard, pas de magie noire.
- Dans ton admin, Extensions → Ajouter une extension, recherche
Login Armor - Installer, puis Activer
- Une modale de pré-activation Hide Login s'ouvre : accepte le slug aléatoire proposé ou tape le tien, coche " M'envoyer l'URL par mail " si tu veux la garder
- Tu arrives sur le tableau de bord, score initial autour de 30 (Hide Login activé, le reste à faire)
- Onglet 2FA, active-le pour ton compte (TOTP recommandé, scanne le QR code avec Authy ou 1Password)
- Onglet Hardening, active les 13 toggles en lot (bouton " Enable all ")
- Onglet Brute Force, garde les seuils par défaut, ils sont sains
- Retour au dashboard : ton score est maintenant entre 75 et 90
Pour les fans de la ligne de commande, raccourci :
wp plugin install login-armor --activate
wp login-armor status
Et tu pilotes le reste de WP-CLI.
Pour qui c'est fait, pour qui ce n'est pas la bonne réponse
Login Armor te parle si tu gères un site WordPress avec un espace admin actif : multi-utilisateurs, agence avec plusieurs comptes, freelance qui jongle entre clients, e-commerce avec des comptes clients qui se connectent, multisite, formateur ou enseignant avec des étudiants qui ont des accès. Si tu es allergique aux SaaS, aux upsells de plugins gratuits-mais-pas-vraiment, et aux popups " unlock the full feature ", tu vas être bien.
Ce n'est pas la bonne réponse si ton site est une plaquette 100 % statique sans login pour personne (genre site vitrine de TPE avec 3 pages, l'admin se connecte une fois par mois). Tu n'as pas besoin de 9 modules pour ça, un Hide Login simple suffit. Et ce n'est pas non plus la bonne réponse si tu cherches un WAF complet avec scan de malware : Login Armor ne le fait pas, prends une suite all-in-one en complément.
Questions fréquentes
Login Armor remplace-t-il Wordfence ?
Non. Wordfence est un WAF avec scan de malware et intégrité des fichiers. Login Armor sécurise uniquement le périmètre de l'authentification (login, 2FA, hardening, audit). Les deux peuvent cohabiter sans conflit, et c'est même la combinaison que je recommande sur des sites sensibles.
Login Armor est-il compatible avec Cloudflare ou un reverse proxy ?
Oui. La détection de l'IP cliente via X-Forwarded-For est configurable, avec une chaîne d'IP de confiance pour éviter le spoofing. Tu loggues la vraie IP utilisateur, pas celle du proxy.
Que se passe-t-il si je perds l'accès à mon 2FA ?
Trois filets de sécurité, dans cet ordre : les codes de secours téléchargés à l'enrôlement, la procédure de récupération admin par lien signé envoyé à l'email du premier admin du site, et en dernier recours wp login-armor 2fa reset --user=tonlogin en SSH si tu as un accès serveur. Tu ne te retrouveras pas verrouillé dehors.
Les logs prennent combien de place dans la base de données ?
Trois tables custom (events, incidents, activity), avec rétention configurable. Sur un site moyen avec environ 1 000 logins par mois, ça représente quelques mégaoctets sur l'année. Sur un site très exposé (plusieurs milliers de tentatives quotidiennes), prévois 50 à 200 Mo annuels et active la purge automatique.
Login Armor envoie-t-il des données à un serveur tiers ?
Non par défaut. Aucune télémétrie, aucun tracking, aucun appel sortant en fonctionnement standard. Le seul cas où une requête sort, c'est si tu actives Breach Check (opt-in explicite) : alors Login Armor envoie les 5 premiers caractères du SHA-1 d'un mot de passe à Have I Been Pwned, ou les 5 premiers caractères du hash d'un email à XposedOrNot. Ni le mot de passe en clair ni le hash complet ne quittent ton serveur.
Login Armor est-il vraiment écrit par toi seul ?
Oui. C'est mon plugin solo, du premier au dernier fichier. À la différence de WPS Hide Login et WPS Limit Login dont j'étais co-auteur (et que j'ai cédés à WPServeur), Login Armor est entièrement écrit, maintenu et signé par moi. Pour la veille sécurité plus large autour de WordPress, j'entretiens aussi un outil dédié à la veille sécurité WordPress qui tourne en monitoring permanent.
Disponibilité et téléchargement
Login Armor V2 est disponible sur WordPress.org depuis le 28 avril 2026. Installation directe depuis ton admin WordPress (recherche Login Armor dans Extensions → Ajouter une extension), ou téléchargement manuel depuis la page officielle. Le forum support est sur wordpress.org/support/plugin/login-armor, je le surveille personnellement.
Soyons concrets. Login Armor est gratuit, GPL, sans freemium, sans appel SaaS, et s'active en moins de 90 secondes. À la fin de l'installation tu auras un slug d'admin secret, une 2FA active, 13 toggles de hardening cochés, un anti brute force qui tourne, et un score de sécurité qui te dit où tu en es. Tu n'as littéralement rien à perdre. Et la prochaine fois qu'un bot tape sur ta porte, il tombera sur une 404. Ou il se fera blacklister. Ou les deux.

Login Armor — Auteur unique : Fabrice Ducarme — Compatible WordPress 6.8 → 7.0 / PHP 8.1+ — GPL, sans freemium, sans appel SaaS — Disponible sur WordPress.org — Télécharger sur WordPress.org →
Bon courage à tes attaquants. Ils en auront besoin.
Ces 7 templates, je les donne en formation payante. Ici, ils sont gratuits.
Sécurité, SEO, performance, contenu, maintenance — les outils que j'utilise en formation et en audit, avec les prompts IA pour aller 10x plus vite.
- 01Workflow contenu anti-IA
- 02Framework SEO Title/Meta/H1
- 03Audit Express 30 points
- 04Blindage sécurité 10 étapes
- 05PageSpeed 90+ sans plugin
- 06Calendrier maintenance IA
- 07Plan d'action 90 jours
1 email / 2 jours pendant 14 jours. Désabonnement en 1 clic.
Analyser avec l'IA
Partager

