参照元:https://allabout.co.jp/gm/gc/23780/
Basic認証を使うには、次の2つのファイルを作成して設置する
1.ウェブサーバの設定を記述する「.htaccess」ファイル
2.Basic認証用の「ユーザー名と暗号化されたパスワード」のセットを必要なだけ列挙する「.htpasswd」ファイル
手順①「.htaccess」ファイルを記述して、制限をかけたいディレクトリにアップロードする。
次のような4行を記述します。
AuthType Basic AuthName [適当な名称] AuthUserFile [.htpasswdファイルの場所] require valid-user
具体例
AuthType Basic AuthName "Authentication Sample" ・・・・・何でも好きな文字列を記述。日本語は文字化けすることがあるため半角英数字のみを使う方が無難。 AuthUserFile /home/sakura/www/.htpasswd ・・・・・「/」で始まるサーバ内でのフルパス。 require valid-user
作成した「.htaccess」ファイルは、Basic認証によるアクセス制限を施したいディレクトリにアップロードします。認証の対象範囲は、そのディレクトリ内に含まれるすべてのサブディレクトリに及びます。
既にあるなら、上記4行を追記するだけでok
★【注意】★
「.htaccess」という名称ではファイルが保存できない場合もあるので、ローカル環境では「.htaccess.txt」などのようなファイル名で作成し、サーバにアップロードする際に(FTPソフトの機能で)ファイル名を「.htaccess」に変更すると良い。
★【注意】★
「.htaccess」ファイルを「メモ帳」を使って作成する場合、文字コードはデフォルト設定である「ANSI」のままで保存して下さい。メモ帳を使って「UTF-8」で保存すると、先頭に必ずBOM(Byte Order Mark)が含まれてしまうため、うまくいきません。
手順②ユーザー名(ID)&パスワード収録ファイル「.htpasswd」を作って、アップロードする。
「.htpasswd」ファイルの中身は1件1行で構成されていて、各行は以下のようなシンプルな書式になっています。
ユーザー名:暗号化されたパスワード
最初の「ユーザー名」と後の「暗号化されたパスワード」を、半角コロン記号「:」で区切っているだけです。例えば、3つのアカウントを作成した場合は以下のような内容になります。
suzuki:XkB8Ou3kAcODe yamada:5dHw0u9s4TltI inoue:A0e7PvhEdWyvE
上記のサンプルでは、「suzuki」・「yamada」・「inoue」という3つのユーザー名と、それぞれのユーザー名に対応する暗号化されたパスワードが記述されています。
【注意】ユーザー名もパスワードも大文字・小文字は区別して扱われます。
【注意】メモ帳」を使って作成する場合、文字コードはデフォルト設定である「ANSI」のままで保存して下さい。
「.htpasswd」内のパスワードは、本来のパスワードを暗号化したものです。
暗号化サービスを提供しているウェブサイトがたくさんありますから、それらを利用すると良い。
例えば「基本認証用パスワード暗号化」サイトでは、最大10個までのパスワードを一括して暗号化できます。
このような暗号化サービスは、「Basic認証 パスワード 暗号化」や「.htpasswd 生成」などのキーワードを使って検索すればたくさん見つかります。