mardi , 29 novembre 2022

Comment désactiver la page WP-LOGIN.PHP dans les sites WordPress ?

Lorsque vous vous connectez à votre site WordPress, vous utilisez la page wp-login.php
Hélas, il n’y a pas que vous ! De nombreux bots ou pirates utilisent également cette même page pour tenter de se connecter à votre administration.

L’astuce va donc consister à changer le point d’entrée de votre site WordPress.

1) Premièrement, il faut ajouter une nouvelle règle dans votre fichier .htaccess :

Votre .htaccess doit ressembler plus ou moins à ceci :

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Ajouter AVANT la ligne #BEGIN WordPress, le code ci-dessous :

RewriteRule ^ma-nouvelle-identification$ wp-login.php

Vous pouvez changer la section rouge à votre convenance, il faudra juste faire attention de bien reporter la même url dans les indications ci-dessous.

2) Deuxièmement, vous devez éditer le fichier functions.php de votre thème actif et ajouter le code ci-dessous :

function security_wp_login_filter( $url, $path, $orig_scheme ) {
    return preg_replace( '/wp-login\.php/', ' ma-nouvelle-identification', $url, 1 );
}
function security_wp_login_redirect() {
    if ( strpos( $_SERVER['REQUEST_URI'], 'ma-nouvelle-identification' ) === false ) {
        wp_redirect( site_url() );
        exit();
    }
}
add_filter( 'site_url', 'security_wp_login_filter', 10, 3 );
add_action( 'login_init', 'security_wp_login_redirect' );

A présent tout est prêt, si vous ouvrez la page http://mon-wordpress/wp-login.php, vous serez redirigé vers la page d’accueil, et si vous ouvrez la page http://mon-wordpress/ma-nouvelle-identification vous allez retrouvez votre page d’identification.

Astuce bonus !

Si vous consultez la page suivante : http://mon-wordpress/?author=1 vous allez voir apparaître votre identifiant Admin… information au combien précieuse pour un pirate souhaitant s’attaquer à votre site.

Pour remédier à cela, créez simplement une page author.php dans votre thème actif (comme toujours), et collez le code ci-dessous :

<?php

wp_redirect( home_url() );

exit;

Ainsi, la page des auteurs retournera automatiquement sur la page d’accueil.

Click to rate this post!
[Total: 9 Average: 5]

A propos jeanluc

8 Commentaires

  1. Bonjour,

    Pour l »astuce de cette page .
    Dans mon theme j’ai déjà une page author.php et quand j’ajoute votre bout de code mon nom d’utilisateur apparaît toujours …

    Avez vous une solution ??
    J’ai loupé quelque chose ??

  2. Bonjour,

    Votre solution est bien, sauf pour le /wp-admin/ qui renvoie tout de même sur la nouvelle page « ma-nouvelle-identification ».

    Une idée pour cacher /wp-admin/ ?

  3. Bonsoir Jean-Luc,
    Super astuce, un grand merci. 🙂

  4. Bonjour à Tous
    problème. Accès à mon site et adlin WP impossible .
    pages blanches.
    je n arrive pas a entrer même avec http./adrrsse du site/wp-ftp.login
    ça ne marche pas..une aide serai hyper super sympha
    merci

  5. Bonjour,

    Je rebondi sur cette publication.
    J’avais un soucis pour accéder ma connexion wordpress via mon site (medlink.fr).

    Votre solution m’a bien permis de retrouver la page connexion identifiant/mot de passe de wordpress.

    Sur ma page phpmyadmin, j’ai modifier sur user1 mon user_login, mon user_pass et mon user_email.

    Quand j’essaie de me connecter il me dit que mon mot de passe ne correspond pas à mon login et /ou à mon de passe
    et quand j’essaie de modifier mon mot de passe via l’envoi d’un mail de récupération de mot de passe je tombe sur une erreur car il rebascule sur /wp-login/…

    Est-ce que vous auriez une idée pour que je puisse accéder à nouveau à mon tableau de bord ?

    Merci

    Sébastien

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.