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

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

阿诚
Libérer: 2022-07-22 15:41:19
original
2706 Les gens l'ont consulté

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 laccè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');
Copier après la connexion

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;
    }
}
Copier après la connexion

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');
Copier après la connexion

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')
Copier après la connexion

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!

Étiquettes associées:
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal