somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【apache】認証の設定

今回は、.htaccessを用いた認証を実装します。

認証の項目

項目概要 項目名 項目内容 詳細 備考
認証方式 AuthType Basic:HTTP基本認証
Digest:ダイジェスト認証
特定のディレクトリやURLに対して、ユーザ名とパスワードによる認証処理に用いる種類を指定します。
パスワードファイル AuthUserFile パスワードファイルのパス 認証のために使用するユーザー名とパスワードが記載されたパスワードファイルを指定します。
認証ダイアログの表示名 AuthName レルム名 概要どおり。レルムは、認証の範囲を示すものらしいです。 名前に空白が含まれる場合、ダブルクォートで囲む必要があります。

基本認証用パスワードファイル

基本認証用のパスワードは「htpasswd」コマンドで設定します。Windowsでも実行可能です。

構文:htpasswd [option] [passwdfile] [username] [passwd]

htpasswd詳細

オプション 詳細 備考
-c 新しいパスワードファイルを作成します。 既に存在する場合、上書きします。
-b パスワードに引数[passwd]を指定します。
-D ユーザの削除
# ファイル作成
C:\xampp\apache\bin>htpasswd -c .htpasswd test
Automatically using MD5 format.
New password: ****
Re-type new password: ****
Adding password for user test

# ユーザー削除
C:\xampp\apache\bin>htpasswd -D .htpasswd test
Automatically using MD5 format.
Deleting password for user test

# パス指定ファイル上書き
C:\xampp\apache\bin>htpasswd -cb .htpasswd test pass
Automatically using MD5 format.
Adding password for user test

# パス指定ユーザー追加
C:\xampp\apache\bin>htpasswd -b .htpasswd test2 pass
Automatically using MD5 format.
Adding password for user test2

認証後のアクセス許可

認証に成功しても、許可しないように制御することができます。

構文:Require option [entity-name] [entity-name]...

オプション 詳細 備考
user ユーザー単位で指定します。 entity-name(ユーザー名)
group グループ単位で指定します。 entity-name(グループ名)
valid-user 認証に成功した全てのユーザー

.htaccess作成

下記は、HTTP基本認証を行い認証に成功したユーザーのアクセスを許可する設定です。パスワードファイルの指定もしています。

AuthType Basic
AuthName "認証ダイアログ表示名"
AuthUserFile C:\xampp\htdocs\.htpasswd
require valid-user

認証は別記事で行いますので、これで終了です。