- WordPressの管理画面にIP制限をかけたい
- WebサーバーにはApacheを使っている
そんな方にオススメの内容です。
Nginxの方はこちら。
WordPress管理画面にIP制限|Nginx版
自分のIPの調べ方
CMANのサイトにアクセスすれば自分のIPアドレスが表示される。
CMAN IPアドレス確認
IP制限をかける場合、許可するIPアドレスが必要なので控えておく。
.htaccessの設置場所
.htaccessファイルはwordpressのルートディレクトリに設置する。
ルートディレクトリはlicense.txt・wp-login.php・wp-adminディレクトリなどが初期配置されているディレクトリのこと。
.htaccessは有効にしたいディレクトリに設置することができる。
今回だとwp-adminディレクトリに.htaccessを設置する方法もある。
ルートディレクトリ以外に.htaccessを設置する方法は直感的でわかやすいメリットがある。
だけど、後から.htaccessを変更するときに難がある。
例えば、どのディレクトリに.htaccessを設置したのか忘れてしまうし、複数ファイルの設定を考慮する必要があるから思わぬ挙動をすることがあるんだ。
だから僕は.htaccessはなるべくルートディレクトリに集約する方法をオススメしている。
そこで、今回は.htaccessをwordpressのルートディレクトリに設置する設定を紹介していく。
次の節で紹介する内容をwordpressのルートディレクトリにある.htaccessファイルへ追記してほしい。
.htaccessに記載する内容
IP制限をかけるファイルとディレクトリについてはWordPressの公式サイトサーバーを守るにて記載がある。
wp-login.phpファイルとwp-adminディレクトリについてIP制限をかけ、wp-admin/admin-ajax.phpファイルについてはIP制限をかけてはいけない。
WordPressに記載されている条件を考慮した.htaccessに追記する内容は次のようになる。
Allow fromの右に自分のIPアドレスを記載してほしい。
<FilesMatch "wp-login\.php|wp-admin/(?!admin-ajax\.php)$">
Order deny, allow
Deny from all
Allow from 100.100.100.100
</FilesMatch>