Maison  >  Article  >  Tutoriel CMS  >  Comment configurer WordPress pour interdire l’accès au backend ?

Comment configurer WordPress pour interdire l’accès au backend ?

阿诚
阿诚original
2022-07-21 15:34:062470parcourir

La colonne tutorielle suivante de wordpress vous apprendra comment configurer WordPress pour interdire l'accès au backend. J'espère que cela sera utile aux amis dans le besoin !

Comment configurer WordPress pour interdire l’accès au backend ?

Parfois, notre site Web possède son propre centre de membres ou n'a pas de fonction d'adhésion, les utilisateurs n'ont donc pas besoin d'accéder au backend. Nous pouvons utiliser les méthodes suivantes pour empêcher les utilisateurs d'accéder au backend.

Ouvrez le fichier de fonctions principales de WordPress, fonctions.php sur la page d'accueil et insérez le code suivant dans le fichier fonctions.php.

1. Interdire au rôle d'utilisateur enregistré par défaut d'accéder au backend

Rôle d'utilisateur enregistré par défaut : backend WordPress → Paramètres → Général, définissez le rôle dans le rôle par défaut pour l'enregistrement d'un nouvel utilisateur.

function qzl_redirect_wp_admin()
 {   
 if ( is_admin() && !current_user_can('editor') && ( !defined( 'DOING_AJAX' ) || !DOING_AJAX ) ) {
          $current_user = wp_get_current_user();
          if($current_user->roles[0] == get_option('default_role')) {
            wp_safe_redirect(home_url());
            exit();
          }
        }
    }
    add_action('init', 'qzl_redirect_wp_admin');

Si vous modifiez le rôle par défaut d'un nouvel utilisateur, cela ne sera pas efficace pour les utilisateurs précédemment enregistrés.

2. Seuls les administrateurs, les éditeurs et les rôles d'auteur sont autorisés à accéder au backend

Ajoutez le code suivant au fichier function.php du modèle de fonction de thème actuel

add_action('init', 'qzl_redirect_wp_admin');
function qzl_redirect_wp_admin()
{
    if (is_admin() && is_user_logged_in() && 
    !current_user_can('manage_options') && 
    !current_user_can('publish_pages') && 
    !current_user_can('publish_posts') && 
    (!defined('DOING_AJAX') || !DOING_AJAX)) {
        wp_safe_redirect(home_url());
        exit;
    }
}

Déterminez si l'utilisateur actuel est connecté et le rôle d'utilisateur actuel est interdit. Les utilisateurs qui accèdent au backend accéderont directement à la page d'accueil du site Web.

Si vous devez accéder à un lien de page spécifié, vous pouvez modifier wp_safe_redirect(home_url()) en un lien similaire à celui-ci :

wp_safe_redirect('http://www.php.cn');

Vous ne pouvez accéder qu'aux liens internes, pas aux liens externes.

Si seuls les administrateurs sont autorisés à accéder au backend, vous pouvez supprimer le code qui permet aux éditeurs et aux auteurs d'accéder au backend :

&& !current_user_can('publish_pages') && !current_user_can('publish_posts')

Résumé : Avec les quelques morceaux de code ci-dessus, les utilisateurs peuvent se voir interdire l'accès à notre backend. N'est-ce pas très simple ? En restreignant l'accès des utilisateurs au backend, nous pouvons filtrer certaines demandes d'accès inutiles au backend, ce qui peut améliorer la sécurité de notre site Web lorsque votre site Web WordPress a développé un centre de membres ou n'a pas d'adhésion. fonction, vous pouvez utiliser cette méthode pour ajouter du contenu supplémentaire à votre site Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn