Apache

Apacheの.htaccessを使用したBasic認証が簡単だった

Basic認証とは?

Basic認証(ベーシックにんしょう、Basic Authentication)とは、HTTPで定義される認証方式(HTTP認証)の一つ。基本認証と呼ばれることも。 Basic認証では、ユーザ名とパスワードの組みをコロン ”:” でつなぎ、Base64でエンコードして送信する。このため、盗聴や改竄が簡単であるという欠点を持つが、ほぼ全てのWebサーバおよびブラウザで対応しているため、広く使われている。 盗聴や改竄を防ぐため、後にDigest認証というユーザ名とパスワードをMD5でハッシュ化して送る方法が考えられた。(以下略)

Wikipedia

Basic認証を設定する

.htpasswdファイル作成

まずは、ユーザの認証情報を格納する「.htpasswd」を作成します。 ファイル名は、他の名前でも良いようですが、念の為同じ名前で作成しましょう。 ファイルの中身は、こちらのサイトで作成しました。 https://tech-unlimited.com/makehtpasswd.html

ID: admin Password: password

で作成すると、「admin:kkdwIRQmgg2Jk」という文字が返ってきました。 これは、 admin:kkdwIRQmgg2Jk fa-chevron-circle-right黄線:ユーザ名 fa-chevron-circle-right赤線:ハッシュ化したパスワード を表しているようです。 生成された文字列を.htpasswdファイルに書き込み、保存します。

.htaccessに書き込み

.htaccessにBasic認証をするための情報を書き込みます。 もし、ファイルが存在しない場合には、作成しましょう。 このファイルが存在しているディレクトリ以下がBasic認証がかかる場所になります。 以下の内容を書き込みましょう。

AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile ファイルの絶対パス
require valid-user

AuthNameは、表示されるメッセージです。 ここには、日本語は入力しない方が良さそうです。 AuthUserFileは、絶対パスで「.htpasswd」の場所を指定します。 これで設定が完了しました。