ホームページ  >  記事  >  CMS チュートリアル  >  バックエンドへのアクセスを禁止するように WordPress を設定するにはどうすればよいですか?

バックエンドへのアクセスを禁止するように WordPress を設定するにはどうすればよいですか?

阿诚
阿诚オリジナル
2022-07-21 15:34:062576ブラウズ

次の wordpress のチュートリアル コラムでは、WordPress でバックエンドへのアクセスを禁止する設定方法を説明します。困っている友人の役に立てば幸いです。

バックエンドへのアクセスを禁止するように WordPress を設定するにはどうすればよいですか?

当社の Web サイトには独自のメンバーシップ センターがある場合やメンバーシップ機能がない場合があり、ユーザーがバックエンドにアクセスする必要がない場合があります。ユーザーがバックエンドにアクセスすることを禁止することもできます。以下の方法で。

ホームページで WordPress コア関数ファイル function.php を開き、functions.php ファイルに次のコードを挿入します。

1. デフォルトの登録ユーザー ロールによるバックエンドへのアクセスの禁止

デフォルトの登録ユーザー ロール: WordPress バックエンド → 設定 → 一般、デフォルトのロールにロールを設定します。新規ユーザー登録。

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');

新しいユーザーのデフォルトのロールを変更すると、以前に登録されたユーザーには無効になります。

2. 管理者、編集者、および作成者の役割のみにバックエンドへのアクセスを許可します

次のコードを現在のテーマ関数テンプレート関数に追加します。 php ファイル中

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;
    }
}

現在のユーザーがログインしているかどうか、および現在のユーザーの役割を確認します。バックエンドへのアクセスが禁止されているユーザーは、Web サイトのホームページに直接ジャンプします。

指定したページのリンクにジャンプする必要がある場合は、wp_safe_redirect(home_url()) を次のようなリンクに変更できます。

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

内のリンクにのみジャンプできます。オフサイトリンクに移動するのではなく、サイトに移動します。

管理者のみがバックエンドへのアクセスを許可されている場合は、編集者と作成者にバックエンドへのアクセスを許可するコードを削除できます:

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

概要: ユーザー アクセスは、上記のコード部分 私たちのバックエンドは非常にシンプルですよね? ユーザーのバックエンドへのアクセスを制限することで、不要なバックエンド アクセス要求をいくつか除外でき、Web サイトのセキュリティを向上させることができます。会員センターや会員機能を持たないWebサイトでも、この方法でセキュリティチップを追加できます。

以上がバックエンドへのアクセスを禁止するように WordPress を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。