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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
BackWPupでバックアップ・Jobの設定・保存する情報の設定
BackWPupその2。Jobのバックアップの基本部分と対象の設定についての解説。
-
-
カスタムフィールドの検索処理をget_posts()関数のmeta_queryで作成しそれを解説
カスタムフィールドを条件検索・抽出する機能開発の解説。サンプルソースをコピペすればOK。詳細解説もあるのでカスタマイズもできる!
-
-
WP-PostRatingsでWordPressに自由度が高い口コミサイトを構築
口コミの評価点を投稿する機能に特化したプラグインで、多様なイメージと投稿方法が用意されていてサイトにあったイメージを選択できます。
-
-
PoeditでWordPressの日本語対応方法。英語プラグインの日本語翻訳ファイル作成
プラグインの日本語化の手順のまとめ。.pot、.po、.moファイルの解説や便利ツールの Poeditの紹介を行いつつ、手順、ファイル設置場所、注意ポイントなども紹介。
-
-
XAMPP環境で WP-DBMANAGERでの復元でDBが壊れる
XAMPP環境で WordPressの WP-DBMANAGERを利用して DBの復元をしたら DBが壊れた。
-
-
Advanced Custom Fields(ACF)のアドオン・ギャラリーの使い方解説
Advanced Custom Fieldsのアドオン・ギャラリーの解説記事。複数の画像を入力できる優れもので、画像のサイズ、容量などでの制限ができ、より厳密な管理が可能。
-
-
Advanced Custom Fieldsの全項目解説・公開側表示編集編
Advanced Custom Fieldsは現時点でカスタムフィールドを設定する最高のプラグイン。それで入力した情報を取り出す方法を全て網羅して解説しました。
-
-
WP Basic AuthなどWordPressにBasic認証を設定するプラグインのまとめ
WordPressにBasic認証を設定する方法のまとめ。プラグインを使う方法と.htaccessで設定する方法を紹介。公開側、ログインページをそれぞれ設定できます。
-
-
highlight.jsの設定方法を解説。 Syntax Highlighterから乗換え、高速化にも最適
Crayon Syntax Highlighterの代替案としてhighlight.jsを試してみた。highlight.jsは設置簡単で軽量なシンタックスハイライト。デザインもCSS変更だけの簡単変更。
-
-
WordPressで使うおススメ FTP、テキストエディタ、圧縮解凍ソフト
WordPressサイトを構築、運用するために必要となるFTPソフト、テキストエディタ、圧縮解凍ソフトのオススメソフトを紹介。