web-dev-qa-db-ja.com

特定の静的IPによって管理ダッシュボードへのアクセスを制限する方法

私は特定の静的IPによって管理ダッシュボード(wp-admin.php)へのアクセスを制限しようとしているので、wp-adminに.htaccessを追加して設定しようとしました

<FilesMatch "admin\.php$">
Order deny,allow
Deny from all
Allow from 10.0.0.0/24
</FilesMatch>

しかし、動作していないと 防弾プラグイン もインストールして<IfModule !mod_authz_core.c> <IfModule mod_access_compat.c> Order Allow,Deny Deny from all Allow from 000 </IfModule> </IfModule> </FilesMatch>を変更しようとしました

しかし、どんな助けでも喜ばせるために働いていないと前もって多くの感謝。

2
Fadi

admin_init がロールバックするまでに、AJAXを実行しているかどうかを知っておく必要があります。そうでない場合は、IPを確認してください。誰でもその番号を偽造できることを覚えておいてください。

add_action('admin_init', function() {

    if(defined('DOING_AJAX') && DOING_AJAX) {
        return; // ignore ajax
    };

    $ip = $_SERVER[ 'REMOTE_ADDR' ];

    if($ip !== '10.0.0.0') {
        wp_die(__('You are not allowed to access this part of the site'));
    }
});
3
jgraup