Amazon Double Points Week開催中!

WordPress管理画面とログイン画面にIPアドレス制限をかける方法

Webとデザイン
この記事は約3分で読めます。

WordPressのログイン画面は、特に何も設定していなければ「https://ドメイン/admin/」や、「https://ドメイン/wp-admin/」でアクセスすれば管理画面にアクセスすることができます。

ちなみにたいしょんブログは、ログイン画面のURLを変更しておりますのでそもそも上記の方法でアクセスすることができません。

今回は特定のIPアドレス経由でしかWordPressの管理画面にアクセスできないようにする方法をご紹介します!

なぜIPアドレス制限を行う必要があるのか

では、そもそもなぜIPアドレス制限を行う必要があるのかをご説明します。

まず先程このブログのログイン画面のURLを変更していると言いましたが、一度ログインすれば頻繁にログイン画面にアクセスするわけでもないので、たまに忘れます。

これが個人であればまだいいのですが、仕事となるとクライアントさんがURLを忘れてしまうとお互いに手間が発生します。ですので、例えば特定のVPN経由で固定IPアドレスが持てる状態であれば、そのIPアドレスのみでログイン画面にアクセスできたほうがいいですよね。

また、企業様で大手の場合は厳しいセキュリティ基準を満たしていないといけない場合が多く、その際にIPアドレス制限の設定が条件に含まれている場合が多いです。ですので、対応できて損はないです。

.htaccessによるIPアドレス制限の設定方法

様々な方法がありますが、今回はドキュメントルート直下の「.htaccessファイル」に追記する方法を試してみます。設定は下記のようにします。

ログイン画面と管理画面に一括でIPアドレス制限をかける方法

まず、ログイン画面は「wp-login.php」で設定されています。また、管理画面は「wp-admin」で各ファイルが設定されています。

<FilesMatch "wp-login.php|wp-admin|xmlrpc.php">
  Order deny allow
  Deny from all
  Allow from xxx.xxx.xxx.xxx
</FilesMatch>
<FilesMatch "wp-config.php">
  Order deny, allow
  Deny from all
</FilesMatch>

上記の方法では、ログイン画面と管理画面にそれぞれアクセスした場合にのみIPアドレス制限がかかるよう設定しています。

ログイン画面と管理画面に個別にIPアドレス制限をかける方法

または、下記のような設定もできます。

<Files "wp-login.php">
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>

wp-admin直下に.htaccessファイルを追加して下記内容を追加

order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx

もしコメントアウトをして、どちらか片方だけ機能させたいという使い方でしたら、2番目にご紹介した方法のほうがやりやすいと思います。ただ、FilesMatchで設定したほうが一括で設定できますのできれいですね。

ちなみにFilesはファイル名そのもので指定したい場合FilesMatchはファイル名に正規表現を使いたい場合に使用します

セクションコンテナ
Apache ではディレクトリ単位やファイル単位、 URL 単位で有効となる範囲を限定して設定を記述することができます。ディレクトリ単位には Directory ディレクティブ、ファイル単位には Files ディレクティブを使って設定します。また正規表現を使って対象となる範囲を指定することもできます。ここでは Apac...
タイトルとURLをコピーしました