BLOGブログ

2023/03/27

IPアドレスアクセス制限を functions.php で設定する

ユーザー権限によってIPアドレスによるアクセス制限をかけてほしいという依頼がありました。

.htaccessに記述する方法ですと、管理画面にアクセスできるIPアドレスを制限することは可能ですが、アカウントの権限で分岐することはできません。

IPアドレスアクセス制限を functions.php で設定することで、特定のアカウント権限の方が管理画面にアクセスしようとしたら指定のIPアドレスでないとアクセスできないなどの細かい設定が可能になります。

add_action('init', 'access_restriction');
function access_restriction() {
   $ip_list = array(
        '○○○.○○.○○.○○' //許可したいIPアドレス
    );
    if (is_admin()) {
        if (current_user_can('publish_article') || current_user_can('article_editor')) {
	    if(in_array($_SERVER["REMOTE_ADDR"], $ip_list, TRUE)) {
        return;
        }
        wp_die('アクセスできません', 'アクセスエラー', array('responce' => 403));
	    }
    }
}

※権限「publish_article」「article_editor」は、プラグイン『User Role Editor』で新たなユーザー権限を作りました。

CONTACTお問い合わせ

サービスに関するお問い合わせやお見積もり・ご相談などお気軽にご相談ください。

電話でのお問い合わせ

受付時間(平日)09:00~18:00
※年末年始・祝日を除く

メールでのお問い合わせ

24時間受付