Basic認証をファイル単位・URL単位で設定する方法の解説
2016/07/02
ファイル単位で Basic認証を設定する方法
Basic認証は、簡単に認証処理を設置できる仕組みとして、レンタルサーバなどでも広く利用されている仕組みです。
広く利用されている方法としては、フォルダ単位に認証を設定する方法だと思いますが、Basic認証はファイル単位で設定することも出来、特定のページ(特定の URL)に Basic認証を設定することも出来ます。
ファイル単位の設定方法を説明しながら、フォルダ単位の設定方法の違いも説明します。
ただ、Basic認証の基本的な処置については分かっていることを前提としていますので、Basic認証の細かな説明については割愛いたします。
ちなみに、難しい説明は分からないけどとりあえず設定できればいい、と言う方に対しては設定のためのツールを作成しましたので、「Basic認証の.htaccess、.htpasswd生成ツールと解説 」より作成をしてみてください。
Basic認証でフォルダ単位で設定する場合とファイル単位で設定する場合の違い
Basic認証を設定する .htaccessの違いを見てみましょう。
フォルダ単位の Basic認証の設定は以下の感じです。
.htaccess
————————————————-
1 2 3 4 5 |
AuthUserFile /wordpress/wp-admin/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic require valid-user |
————————————————-
ファイル単位での Basic認証の設定
.htaccess
————————————————-
1 2 3 4 5 6 7 |
<Files wp-login.php> AuthUserFile /wordpress/wp-admin/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic require valid-user </Files> |
————————————————-
こんな感じで 1行目の「<Files wp-login.php>」と 7行目の「</Files>」の部分が追加されています。
ここで設定したように通常はフォルダ単位で設定する記述を「<Files wp-login.php>」「</Files>」で囲むだけでファイル単位で Basic認証を設定することが出来ます。
そして、「<Files……」の部分に Basic認証の設定をするファイルを指定するだけです。
違いはそれだけで、非常に簡単です。
また、ファイルの指定は、.htaccessを置くフォルダと同階層にあるファイルに限られます。相対パスや絶対パスなどで違うフォルダにあるファイルを指定することは出来ません。指定しても有効になりません。
複数のファイルの指定をする場合は、1行目の「<Files wp-login.php>」の部分を下記の様に修正します。
————————————————-
1 2 3 4 5 6 7 |
<Files ~ (wp-login.php|wp-login-change.php)> AuthUserFile /wordpress/wp-admin/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic require valid-user </Files> |
————————————————-
また、「*」や正規表現を使って複数のファイルを指定することもできるようになっていますので、複数のファイルを設定する場合は試してみてください。
こんな設定の仕方もある 2014.09.10 追記
「<Files …> ~ </Files>」の囲み方ですが、下記のような囲み方でもファイル単位の Basic認証を設定することができます。
————————————————-
1 2 3 4 5 6 7 |
AuthUserFile /wordpress/wp-admin/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic <Files wp-login.php> require valid-user </Files> |
————————————————-
ただ、全体を「<Files …> ~ </Files>」で囲む方法では、下記の様にファイルごとにパスワードファイル(.htpasswd)を指定することができます。
.htpasswdに設定するパスワードを変えることで、ファイルごとにログインできる ID、PASSを変えることができ、よりセキュリティを高める設定をすることも可能となっています。(とは言え、こんな使い方する場面が思い浮かびませんが....ユーザごとにページを作る場合とか便利なのかも??)
————————————————-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<Files wp-login.php> AuthUserFile /wordpress/wp-admin/.htpasswd AuthGroupFile /dev/null AuthName "Member Only" AuthType Basic require valid-user </Files> <Files wp-login-aaa.php> AuthUserFile /wordpress/wp-admin/.htpasswd2 AuthGroupFile /dev/null AuthName "Member Only No.2 File" AuthType Basic require valid-user </Files> |
————————————————-
これでも分かりますが、「.htpasswd」は、デフォルトで設定されるファイル名というだけであり、パスワードのファイル名は「.htpasswd」でなくても問題ないということですね。
「.htaccess」「.htpasswd」は見えないようにする設定
Basic認証を設定する「.htaccess」「.htpasswd」の 2ファイルは、非常に重要なファイルですので、その 2ファイル自体にアクセス制限を設定しておく方がいい場合もあります。
その場合は、下記の記述を上記の「.htaccess」の「<Files wp-login.php>」の前に記述を追記するといいでしょう。
————————————————-
1 2 3 |
<Files ~ "^.(htaccess|htpasswd)$"> deny from all </Files> |
————————————————-
ここで設定する「<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認証を設定する方法
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
FC2からWordPressに引越。インストールなど必要な全てを解説
FC2からWordPressへの引越し解説。内容は引越しメインではなくこれからWordPressでブログを構築する方向けのブログ構築の解説記事です。
-
Advanced Custom Fields管理画面の全項目完全解説・カスタムフィールド決定版!
カスタムフィールドを設定する最高のプラグイン。設定できる項目を全て網羅して解説。投稿の項目だけではなく、カテゴリやユーザ情報の項目を増やすことにも使えます。
-
WordPress 任意のファイルを読み込むショートコードの処理
投稿ページにショートコードを利用して任意のファイルを読み込む処理の解説です。
-
WordPressのウィジェットでショートコードを使う方法add_filter
WordPressのウィジェットでショートコードを利用するには add_filter、do_shortcodeの関数を利用する必要があります。
-
WordPressで ¥円マークが \ バックスラッシュになる原因と対処方法
円マークがバックスラッシュに変換される。その原因と対処方法を解説します。原因はCSSでのフォント指定に欧文フォントも含まれるため欧文フォントで表示されること。
-
Comment Rating FieldでWordPressのコメントに口コミサイト機能を追加
口コミサイトを構築するためのプラグイン。評価点を投票する仕組みをコメント投稿機能に追加する方法で実現。口コミサイトを構築するには十分な機能を提供。
-
WordPressの 外観のテーマのための関数の並び順
WordPressのカスタマイズの際にテーマのテンプレートを編集しますが、そのテーマファイルの並び順の解説です。
-
WordPressのカテゴリ単位・フォルダ単位でBasic認証を設定する方法
カテゴリ単位でBasic認証を設定する方法の解説。WordPressのカテゴリはフォルダの実態がないですが、実は簡単な方法でプラグインも使わずにBasic認証を設置できます。
-
WordPress 画面が真っ白になる対応の一つ デバッグモード
WordPressで画面が真っ白になる不具合があった場合などのために用意されているデバッグモードの解説です。
-
BackWPupでバックアップ・全体バックアップ具体的設定例
BackWPupその7。ファイル、DB全体をバックアップする具体的事例での説明です。