15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer
21.10.2024
8 +2

Comment utiliser WPS Hide Login pour protéger la page d’administration WordPress

Les URL de connexion WordPress par défaut — yoursite.com/wp-admin et yoursite.com/wp-login.php — sont connues du public, ce qui en fait la première cible des campagnes automatisées de force brute et des attaques par credential stuffing. WPS Hide Login est un plugin WordPress léger qui remplace ces points d’entrée prévisibles par une URL personnalisée de votre choix, de sorte que les requêtes non authentifiées vers les chemins d’origine sont redirigées silencieusement plutôt que de recevoir un formulaire de connexion.

Ce guide couvre l’installation complète, la configuration, la procédure de récupération et la stratégie de sécurité en couches pour WPS Hide Login — y compris les cas limites techniques que la plupart des tutoriels omettent.

Pourquoi modifier l’URL de connexion par défaut est important

La sécurité par l’obscurité n’est pas une défense complète en soi, mais c’est une première couche légitime et mesurable. Lorsque les bots ne peuvent pas trouver un formulaire de connexion, ils ne peuvent pas soumettre de credentials contre lui. Les études issues des journaux de pare-feu au niveau de l’hébergement montrent systématiquement que /wp-login.php et /wp-admin représentent la grande majorité des événements HTTP 403/429 WordPress — souvent des milliers de requêtes par jour, même sur des sites modestes.

Modifier l’URL de connexion élimine cette surface d’attaque sans aucun coût de performance. Combinée à des mots de passe forts, à une authentification à deux facteurs et à un pare-feu d’application web, elle augmente considérablement l’effort requis pour une intrusion réussie.

Si vous exécutez WordPress dans un environnement VPS Hosting, vous pouvez renforcer cela au niveau du serveur avec des directives Nginx deny ou des règles Apache .htaccess en complément du plugin — une combinaison abordée plus loin dans cet article.

Couches de sécurité : WPS Hide Login vs. approches alternatives

Avant de plonger dans la configuration, il est utile de comprendre où se situe WPS Hide Login par rapport aux autres techniques de durcissement.

MéthodeBloque les botsNécessite un accès serveurImpact sur les performancesComplexité
WPS Hide Login (obscurcissement d’URL)Oui (scanners automatisés)NonNégligeableTrès faible
HTTP Basic Auth sur `/wp-admin`OuiOui (`.htaccess`)NégligeableFaible
Liste blanche IP pour la page de connexionOui (le plus efficace)Oui (pare-feu/Nginx)AucunMoyen
Plugin d’authentification à deux facteursNon (affiche toujours le formulaire)NonNégligeableFaible
Pare-feu d’application web (Wordfence, Cloudflare)OuiNon / PartielFaible–MoyenMoyen
Fail2Ban / limitation de débit au niveau serveurOuiOuiAucunMoyen–Élevé

WPS Hide Login est plus efficace lorsqu’il est combiné avec au moins l’un des contrôles au niveau serveur de ce tableau. Il ne remplace pas des credentials solides ou un WAF, mais il élimine les cibles faciles sur lesquelles les outils automatisés s’appuient.

Étape 1 : Installer le plugin WPS Hide Login

  1. Connectez-vous à votre tableau de bord WordPress.
  2. Accédez à Extensions > Ajouter.
  3. Dans le champ de recherche, tapez WPS Hide Login.
  4. Cliquez sur Installer maintenant à côté du plugin publié par WPServeur, nofearinc et Beee.
  5. Cliquez sur Activer une fois l’installation terminée.

Conseil de vérification : Après l’activation, confirmez que le plugin est répertorié comme actif sous Extensions > Extensions installées. Le plugin n’apporte aucune modification visible en front-end à ce stade — la configuration se fait entièrement dans le panneau de paramètres.

Étape 2 : Configurer le plugin

Après l’activation, le plugin intègre ses paramètres en bas de la page Réglages > Général plutôt que de créer un élément de menu dédié. C’est intentionnel — cela maintient la configuration discrète.

  1. Accédez à Réglages > Général dans votre tableau de bord WordPress.
  2. Faites défiler jusqu’à la section WPS Hide Login en bas de la page.

Choisir une URL de connexion robuste

Dans le champ URL de connexion, remplacez la valeur par défaut par un chemin personnalisé. Traitez cela comme un mot de passe secondaire : il doit être hors dictionnaire, non évident et ne pas dériver de votre nom de marque.

Mauvais choix à éviter :

  • /mylogin
  • /admin-login
  • /wp-login-new
  • /login

Meilleurs choix :

  • Une chaîne alphanumérique aléatoire : /a7f3kx91
  • Un chemin de type phrase de passe : /morning-circuit-deploy
  • Un chemin qui imite une page légitime : /resources/team-portal

L’URL est sensible à la casse sur les serveurs Linux (ce qui inclut pratiquement tous les Serveurs Dédiés et instances VPS exécutant Ubuntu ou CentOS). /MyLogin et /mylogin sont traités comme des chemins différents.

Configurer l’URL de redirection

Le champ URL de redirection détermine où les utilisateurs sont envoyés lorsqu’ils tentent d’accéder directement à /wp-login.php ou /wp-admin. Choisissez-le délibérément :

  • Rediriger vers votre page d’accueil (/) : Neutre, ne révèle rien à l’attaquant.
  • Rediriger vers une page 404 personnalisée : Indique que la ressource n’existe pas, ce qui est techniquement exact et décourage toute exploration supplémentaire.
  • Rediriger vers une page honeypot : Technique avancée — redirige vers une page qui enregistre l’IP du visiteur pour analyse.

Évitez de rediriger vers une page contenant un message visible « Accès refusé », car cela confirme à un attaquant qu’une page de connexion existe quelque part sur le site.

  1. Cliquez sur Enregistrer les modifications.

Étape 3 : Se connecter avec votre nouvelle URL de connexion

Après l’enregistrement, les points d’entrée de connexion d’origine sont désactivés immédiatement. Toute requête vers /wp-login.php ou /wp-admin sera redirigée vers l’URL que vous avez spécifiée.

Pour accéder à votre tableau de bord :

  1. Accédez à https://yoursite.com/your-custom-path dans votre navigateur.
  2. Saisissez vos credentials WordPress normalement.
  3. Le tableau de bord se charge sans aucune différence visible de comportement.

Important : Les flux intégrés de WordPress « Mot de passe oublié ? » et d’inscription des utilisateurs utilisent également /wp-login.php en interne. WPS Hide Login gère cela correctement en réécrivant les URL d’action de formulaire pertinentes — mais vérifiez que cela fonctionne dans votre thème et votre pile de plugins spécifiques avant de déployer en production.

Étape 4 : Mettre en favori la nouvelle URL de connexion immédiatement

Cette étape est opérationnellement critique. Mettez en favori la nouvelle URL dans votre navigateur et stockez-la dans votre gestionnaire de mots de passe aux côtés de vos credentials. Si vous gérez plusieurs installations WordPress, documentez l’URL personnalisée dans votre runbook interne ou votre coffre-fort de secrets.

Ne comptez pas sur votre mémoire. La procédure de récupération d’une URL de connexion personnalisée oubliée nécessite un accès au système de fichiers, ce qui est perturbateur dans un environnement de production.

Étape 5 : Tester tous les chemins de redirection

Les tests doivent être systématiques. Ouvrez une fenêtre de navigation privée/incognito (pour éviter les données de session en cache) et vérifiez chacun des éléments suivants :

  • https://yoursite.com/wp-login.php — doit rediriger vers votre URL spécifiée, sans afficher de formulaire de connexion.
  • https://yoursite.com/wp-admin — doit rediriger, sans afficher de formulaire de connexion ni de tableau de bord.
  • https://yoursite.com/wp-admin/admin-ajax.php — ce point d’entrée doit rester accessible ; WPS Hide Login l’exempte correctement de la redirection pour éviter de casser les plugins dépendants d’AJAX.
  • https://yoursite.com/your-custom-path — doit afficher correctement le formulaire de connexion WordPress.
  • Liens d’e-mail de réinitialisation de mot de passe — déclenchez une réinitialisation de mot de passe et confirmez que le lien dans l’e-mail passe par votre chemin de connexion personnalisé, et non par l’original.

Si admin-ajax.php est bloqué, vous verrez des fonctionnalités front-end défaillantes dans les thèmes et plugins qui s’appuient sur les appels AJAX. C’est un cas limite connu lors de la combinaison de WPS Hide Login avec une mise en cache agressive ou des règles Nginx personnalisées.

Étape 6 : Renforcement au niveau serveur (recommandé)

Pour les environnements où vous avez accès au serveur, ajoutez un blocage dur au niveau du serveur web afin que, même si le plugin est désactivé, les chemins par défaut restent protégés.

Nginx — à ajouter dans votre bloc server {} :

location = /wp-login.php {
    return 301 https://yoursite.com/;
}

location ^~ /wp-admin/ {
    # Allow admin-ajax.php for front-end AJAX
    location = /wp-admin/admin-ajax.php {
        try_files $uri =404;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    return 301 https://yoursite.com/;
}

Apache — à ajouter dans votre fichier .htaccess au-dessus du bloc de réécriture WordPress :

<FilesMatch "^wp-login.php$">
    Order Deny,Allow
    Deny from all
</FilesMatch>

Ces règles fonctionnent indépendamment de WordPress et PHP, ce qui signifie qu’elles interceptent les requêtes avant le démarrage de WordPress — un avantage significatif en termes de performance et de sécurité.

Étape 7 : Combiner avec des plugins de sécurité complémentaires

WPS Hide Login traite la découvrabilité des URL. Il ne protège pas contre :

  • Les attaques par credentials via le point d’entrée XML-RPC (/xmlrpc.php)
  • Les vulnérabilités dans les thèmes ou plugins
  • Les attaques authentifiées depuis des comptes compromis

Combinez-le avec les éléments suivants :

  • Limit Login Attempts Reloaded : Applique des politiques de verrouillage après un nombre configurable de tentatives échouées. Fonctionne sur votre URL de connexion personnalisée, pas seulement sur celle par défaut.
  • Wordfence Security : Fournit un pare-feu en mode apprentissage, un flux de renseignements sur les menaces en temps réel et une surveillance de l’intégrité des fichiers. Son module d’authentification à deux facteurs est particulièrement précieux.
  • Disable XML-RPC : Si vous n’utilisez pas l’application mobile WordPress ou Jetpack, désactivez entièrement /xmlrpc.php — c’est un vecteur de force brute distinct que WPS Hide Login ne traite pas.
  • WP 2FA : Ajoute l’authentification par mot de passe à usage unique basé sur le temps (TOTP) comme second facteur, rendant le vol de credentials seul insuffisant pour l’accès.

Si votre site est hébergé sur un plan avec VPS avec cPanel, vous pouvez également configurer des règles ModSecurity au niveau du serveur pour limiter le débit des tentatives de connexion indépendamment des plugins WordPress.

Comment récupérer l’accès si vous oubliez l’URL de connexion personnalisée

C’est le scénario le plus sensible sur le plan opérationnel. Si vous perdez l’URL de connexion personnalisée et ne pouvez pas accéder au tableau de bord, le plugin doit être désactivé au niveau du système de fichiers.

Méthode 1 : Gestionnaire de fichiers via le panneau de contrôle d’hébergement

  1. Connectez-vous à votre panneau de contrôle d’hébergement (cPanel, Plesk ou équivalent).
  2. Ouvrez le Gestionnaire de fichiers et accédez à /wp-content/plugins/.
  3. Renommez le dossier wps-hide-login en wps-hide-login-disabled.
  4. WordPress désactivera automatiquement le plugin car le nom du dossier ne correspond plus.
  5. Accédez à votre site via yoursite.com/wp-login.php — l’URL par défaut est maintenant active à nouveau.
  6. Connectez-vous, récupérez ou réinitialisez la configuration de votre URL personnalisée, puis renommez le dossier en wps-hide-login pour le réactiver.

Méthode 2 : Accès FTP/SFTP

# Connect via SFTP (replace with your actual credentials)
sftp user@yoursite.com

# Navigate to the plugins directory
cd /public_html/wp-content/plugins/

# Rename the plugin folder to deactivate it
rename wps-hide-login wps-hide-login-disabled

Méthode 3 : WP-CLI (si disponible sur votre serveur)

Si votre environnement d’hébergement prend en charge WP-CLI — courant sur les plans VPS Hosting et serveurs gérés — c’est la méthode de récupération la plus rapide :

# Deactivate the plugin from the command line
wp plugin deactivate wps-hide-login --path=/var/www/html

# Confirm it is deactivated
wp plugin list --path=/var/www/html

Après vous être connecté via l’URL par défaut restaurée, réactivez le plugin depuis le tableau de bord et reconfigurez votre chemin personnalisé.

Méthode 4 : Modification directe de la base de données

En dernier recours, vous pouvez supprimer directement l’option stockée du plugin dans la base de données. Cela est approprié lorsque l’accès au système de fichiers est indisponible mais que l’accès à la base de données (via phpMyAdmin ou MySQL CLI) est possible.

-- Remove WPS Hide Login configuration from wp_options
DELETE FROM wp_options WHERE option_name = 'whl_page';
DELETE FROM wp_options WHERE option_name = 'whl_redirect';

Après l’exécution de ces requêtes, le plugin reviendra au comportement par défaut (sans masquage d’URL) même en étant techniquement actif, vous permettant de vous connecter via /wp-login.php.

Pièges potentiels et cas limites

Conflits de mise en cache : Les plugins de mise en cache de pages complètes (WP Rocket, W3 Total Cache, LiteSpeed Cache) peuvent mettre en cache la réponse de redirection pour l’ancienne URL de connexion. Après avoir configuré WPS Hide Login, purgez tous les caches et vérifiez que la redirection n’est pas servie depuis le cache avec une destination incorrecte.

Considérations CDN et proxy inverse : Si votre site se trouve derrière Cloudflare ou un autre proxy inverse, assurez-vous que /wp-login.php et /wp-admin ne sont pas mis en cache au niveau CDN. Ces chemins doivent toujours contourner le cache. La règle par défaut de Cloudflare « Bypass Cache on Cookie » gère cela pour la plupart des configurations WordPress, mais vérifiez-le explicitement.

Installations multisite : WPS Hide Login a une compatibilité limitée avec les réseaux WordPress Multisite. Sur un multisite basé sur des sous-domaines, l’URL de connexion de chaque sous-site doit être gérée avec soin. Testez minutieusement dans un environnement de staging avant de déployer sur un réseau multisite en production.

Conflits de plugins : Certains plugins d’adhésion, plateformes e-commerce (la page « Mon compte » de WooCommerce) et plugins LMS génèrent leurs propres formulaires de connexion qui postent directement vers /wp-login.php. Après avoir activé WPS Hide Login, auditez tous les formulaires de connexion personnalisés sur votre site pour vous assurer que leurs attributs action sont mis à jour ou gérés par la réécriture d’URL du plugin.

Exigence SSL : Exécutez toujours votre URL de connexion personnalisée via HTTPS. La soumission de credentials via HTTP les expose à l’interception réseau, quelle que soit l’obscurité de l’URL. Si vous n’avez pas encore sécurisé votre site, les Certificats SSL sont un prérequis — pas un complément optionnel.

Liste de contrôle pour la décision technique

Utilisez cette liste de contrôle avant et après le déploiement de WPS Hide Login dans un environnement de production :

  • [ ] L’URL de connexion personnalisée est hors dictionnaire, ne dérive pas de la marque et est stockée dans un gestionnaire de mots de passe
  • [ ] L’URL de redirection pour les chemins bloqués est configurée et testée dans une fenêtre incognito
  • [ ] admin-ajax.php reste accessible (testez avec une fonctionnalité front-end dépendante d’AJAX)
  • [ ] Les liens d’e-mail de réinitialisation de mot de passe passent correctement par le chemin de connexion personnalisé
  • [ ] Tous les caches de pages complètes purgés après l’activation du plugin
  • [ ] CDN/proxy inverse confirmé pour contourner le cache pour les chemins liés à la connexion
  • [ ] Blocage au niveau serveur sur /wp-login.php et /wp-admin ajouté comme couche de défense en profondeur
  • [ ] Point d’entrée XML-RPC évalué et désactivé si non requis
  • [ ] Plugins complémentaires (limitation de débit, 2FA, WAF) actifs et configurés
  • [ ] Procédure de récupération documentée et testée dans un environnement de staging
  • [ ] Certificat SSL actif et imposant HTTPS sur l’ensemble du site

FAQ

WPS Hide Login prévient-il toutes les attaques par force brute ?

Non. Il prévient les attaques automatisées qui ciblent les URL de connexion par défaut connues. Si un attaquant découvre votre URL de connexion personnalisée — via l’exposition du code source, les journaux serveur ou l’ingénierie sociale — les tentatives de force brute peuvent reprendre. Combinez toujours l’obscurcissement d’URL avec la limitation de débit et l’authentification à deux facteurs.

WPS Hide Login cassera-t-il les mises à jour automatiques WordPress ou les tâches cron ?

Non. Les mises à jour du cœur WordPress, les mises à jour de plugins et wp-cron.php n’utilisent pas /wp-login.php pour l’authentification. Ils utilisent des nonces et des mots de passe d’application ou l’exécution directe de fichiers. WPS Hide Login n’interfère pas avec ces processus.

Que se passe-t-il avec l’URL de connexion si je désactive WPS Hide Login sans renommer le dossier ?

La désactivation du plugin via le tableau de bord WordPress restaure immédiatement /wp-login.php et /wp-admin comme points d’entrée de connexion fonctionnels. Votre URL personnalisée cesse de fonctionner. C’est réversible — la réactivation du plugin restaure la configuration d’URL personnalisée.

Puis-je utiliser WPS Hide Login sur un réseau WordPress Multisite ?

Avec prudence. Le plugin fonctionne sur le site principal du réseau mais a un comportement incohérent sur les sous-sites, en particulier dans les configurations multisite en sous-répertoires. Testez sur un clone de staging de votre réseau avant de déployer, et consultez le suivi des problèmes GitHub du plugin pour les conflits multisite connus avec votre version de WordPress.

Est-il sûr de partager l’URL de connexion personnalisée avec d’autres administrateurs ?

Traitez l’URL de connexion personnalisée comme un credential sensible. Partagez-la uniquement via des canaux chiffrés (la fonctionnalité de partage d’un gestionnaire de mots de passe, une application de messagerie chiffrée) et ne l’intégrez jamais dans des e-mails en texte brut ou dans une documentation stockée dans des dépôts accessibles publiquement.

15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer