エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


Basic認証をファイル単位・URL単位で設定する方法の解説

      2016/07/02

ファイル単位で Basic認証を設定する方法

 
Basic認証は、簡単に認証処理を設置できる仕組みとして、レンタルサーバなどでも広く利用されている仕組みです。
 
広く利用されている方法としては、フォルダ単位に認証を設定する方法だと思いますが、Basic認証はファイル単位で設定することも出来、特定のページ(特定の URL)に Basic認証を設定することも出来ます。
 
ファイル単位の設定方法を説明しながら、フォルダ単位の設定方法の違いも説明します。
 
ただ、Basic認証の基本的な処置については分かっていることを前提としていますので、Basic認証の細かな説明については割愛いたします。
 
 
ちなみに、難しい説明は分からないけどとりあえず設定できればいい、と言う方に対しては設定のためのツールを作成しましたので、「Basic認証の.htaccess、.htpasswd生成ツールと解説 」より作成をしてみてください。
 
 

Basic認証でフォルダ単位で設定する場合とファイル単位で設定する場合の違い

 
Basic認証を設定する .htaccessの違いを見てみましょう。
 
フォルダ単位の Basic認証の設定は以下の感じです。
.htaccess
————————————————-

————————————————-
 
 
ファイル単位での Basic認証の設定
.htaccess
————————————————-

————————————————-
 
こんな感じで 1行目の「<Files wp-login.php>」と 7行目の「</Files>」の部分が追加されています。
 
ここで設定したように通常はフォルダ単位で設定する記述を「<Files wp-login.php>」「</Files>」で囲むだけでファイル単位で Basic認証を設定することが出来ます。
そして、「<Files……」の部分に Basic認証の設定をするファイルを指定するだけです。
 
違いはそれだけで、非常に簡単です。
 
また、ファイルの指定は、.htaccessを置くフォルダと同階層にあるファイルに限られます。相対パスや絶対パスなどで違うフォルダにあるファイルを指定することは出来ません。指定しても有効になりません。
 
 
複数のファイルの指定をする場合は、1行目の「<Files wp-login.php>」の部分を下記の様に修正します。
 
————————————————-

————————————————-
 
また、「*」や正規表現を使って複数のファイルを指定することもできるようになっていますので、複数のファイルを設定する場合は試してみてください。
 
 

こんな設定の仕方もある  2014.09.10 追記

 
「<Files …> ~ </Files>」の囲み方ですが、下記のような囲み方でもファイル単位の Basic認証を設定することができます。
 
————————————————-

————————————————-
 
ただ、全体を「<Files …> ~ </Files>」で囲む方法では、下記の様にファイルごとにパスワードファイル(.htpasswd)を指定することができます。
 
.htpasswdに設定するパスワードを変えることで、ファイルごとにログインできる ID、PASSを変えることができ、よりセキュリティを高める設定をすることも可能となっています。(とは言え、こんな使い方する場面が思い浮かびませんが....ユーザごとにページを作る場合とか便利なのかも??)
 
————————————————-

————————————————-
 
これでも分かりますが、「.htpasswd」は、デフォルトで設定されるファイル名というだけであり、パスワードのファイル名は「.htpasswd」でなくても問題ないということですね。
 
 


 

「.htaccess」「.htpasswd」は見えないようにする設定

 
Basic認証を設定する「.htaccess」「.htpasswd」の 2ファイルは、非常に重要なファイルですので、その 2ファイル自体にアクセス制限を設定しておく方がいい場合もあります。
その場合は、下記の記述を上記の「.htaccess」の「<Files wp-login.php>」の前に記述を追記するといいでしょう。
 
————————————————-

————————————————-
 
ここで設定する「<Files…….」の設定部分が、先に説明したファイルに Basic認証を設定する部分と同じくファイル単位のアクセスの制限を設定する、という方法です。
記述の仕方が Basic認証と同じことが同じであることが分かるでしょう。
 
 
ちなみに、重要なファイルナのため「.htaccess」「.htpasswd」の 2ファイルにはアクセス制限をした方がいいと書きましたが、これらのファイルは非常に重要すぎるため、サーバ全体でアクセス制限をしている場合がほとんどです。
そのため、事前にこれらのファイルにアクセスをしてみて、「403 Forbidden」のエラーメッセージが出てくるようであれば、すでにアクセス制限の設定がされている状態ですので、わざわざ追加で設定をしない方がいいでしょう。
もしかするとせっかくアクセス制限がされているのに、間違って設定をしてしまうことで、アクセス制限が有効に機能しなくなる可能性もありますので。
 
 

この記事を書いた経緯

 
この記事は、もともと WordPressの管理画面のログイン URLに Basic認証を設定したい、と思ったところから始まっていまして、それに付随する形で、WordPressの管理画面のログインに絡むセキュリティの記事として下記の 3記事を書きました。
 「管理者のアカウント adminを変更する
 「WordPressの管理画面ログインURLの変更方法解説
 「WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説
 
そして、それに付随する特定のファイルに Basic認証の設定する、という部分だけを抜き出して記事にしたものがこの記事になりますので、Basic認証を設定する対象のファイルが「wp-login.php」という WordPressの管理画面のログインファイルになっているわけです。
 
Basic認証の設定は WordPressに限ったものではありませんが、WordPressの管理画面のログイン画面周りのセキュリティを高めたいという方は上記の記事を参考にしてみてください。
 
 

Basic認証関連の記事まとめ

 
Basic認証関連の記事もいろいろと書いていますので、あわせて参考にしてみてください。
 
 ロリポップで baserCMSを利用する際の Basic認証の設置には注意しましょう
 WordPressのログイン画面 URLを変更する 管理画面に Basic認証を設定する
 WordPressの管理画面ログインURLの変更方法解説
 WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説
 Basic認証をファイル単位・URL単位で設定する方法の解説
 ロリポップでWordPress+Basic認証で不具合発生!回避方法解説
 Basic認証の.htaccess、.htpasswd生成ツールと解説
 WP Basic AuthなどWordPressにBasic認証を設定するプラグインのまとめ
 WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法
 WordPressで特定のURL、ページ、ファイル単位でBasic認証を設定する方法

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

ショートコード+ウィジェットでサイドバーに人気記事を表示させる方法

WordPressのサイドナビゲーションに人気記事を編集する方法です。プラグインを使わずウィジェットにショートコードで任意のPostIDを指定することで編集する方法です。

AdminerはWordPressのデータベース管理プラグインの決定版!

データベース管理プラグインはAdminerがあれば他に必要ありません。なぜならDB管理ツールAdminerと同じものをプラグインとして提供しているからです。

WordPressのカテゴリの編集の解説

WordPressのカテゴリって何?というところから説明し、カテゴリを登録、編集する方法を解説します。また、カテゴリの順番を自由に変える方法も解説します。

WordPress管理画面のメニューに項目を追加する方法解説

WordPressの管理画面のメニューに項目を追加する方法をサンプルソースを交えて解説します。

DuplicatorでWordPressを簡単引越し!インストーラー付のバックアップにも

WordPressの引越しや開発環境から本番環境への移行など他の環境に移す作業を簡単にしてくれるプラグインの紹介。インストーラー付のバックアップツールとしても使る。

Unveil Lazy LoadでWordPressを高速化!SEO効果絶大でPVもアップ!

WordPressの表示を高速化するUnveil Lazy Loadの紹介。利用するJSを見直し高速化を徹底的に追求したプラグイン。入れるだけで高速化するので使わない手はない!

WordPressの投稿データ(記事データ)の管理方法

投稿の登録の方法、投稿データの管理方法の解説。MetaManagerなどのプラグインを入れた場合の入力ボックスを表示させる方法についても解説します。

WP Mail SMTP、WP SMTP、Easy WP SMTPでWordPressのメールのスパム判定を回避

WordPressから送信したメールがスパム判定される!そんな悩みを解決するプラグインを紹介。3種類にプラグインを比較しオススメを紹介。なぜスパム判定されるかの解説も。

BackWPupでバックアップ・機能の基本設定 Settings

BackWPupその5。バックアップ設定のベースになるBackWPup自体の設定解説です。

Category Order and Taxonomy Terms Orderでカテゴリ・タクソノミーのタームの順番を並び替える

標準機能では行えないカテゴリやタクソノミーの並び替えを行うプラグインCategory Order and Taxonomy Terms Orderの紹介です。