web-dev-qa-db-fra.com

Comment Restreindre l'accès au tableau de bord admin par une adresse IP statique spécifique?

j'essaie de restreindre l'accès au tableau de bord de l'administrateur (wp-admin.php) par une adresse IP statique spécifique. J'ai donc essayé d'ajouter .htaccess à wp-admin et de définir

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

mais ne fonctionne pas et a essayé d'installer le plug-in bulletproof aussi et de changer le <IfModule !mod_authz_core.c> <IfModule mod_access_compat.c> Order Allow,Deny Deny from all Allow from 000 </IfModule> </IfModule> </FilesMatch>

mais ne travaille pas pour plaire à toute aide et merci beaucoup à l'avance.

2
Fadi

Au moment , admin_init vous indique si vous faites AJAX ou non. Si ce n'est pas le cas, vérifiez l'adresse IP. N'oubliez pas que n'importe qui peut simuler ce nombre.

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