Affinity Publisherの魅力を紹介中!

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基本設定 - Apache入門
Apacheでは設定の有効範囲をディレクトリ単位やファイル単位で限定することができます。ここでは設定の有効範囲を指定する方法について解説します。
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
この記事を書いた人
たいしょん

岐阜のTECPRESSO株式会社でWebエンジニアとして働いています。
1992年生まれ。学生時代は野球(副部長なのに補欠)と演劇をしていました。元技能五輪全国大会Webデザイン競技愛知県代表。
Apple製品をはじめとするガジェットやウェブサービス、デザインなどに関心があります。

たいしょんをフォローする
Web
スポンサーリンク
たいしょんをフォローする
たいしょんブログ
タイトルとURLをコピーしました