0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Basic認証のかけ方【備忘録】

Posted at

#はじめに
特定のサイトへのアクセス時にユーザー名とパスワードを用いた簡単な認証をかけることができる、Basic認証の使い方をまとめた記事。

#目次

  • 全体の流れ
  • 項目別の詳細
  • 注意点

#全体の流れ

  1. .htaccessファイル、.htpasswdファイルを作成
  2. パスワードのハッシュ化
  3. サーバーに設置

#項目別の詳細
####.htaccessファイル、.htpasswdファイルを作成・記述
 Basic認証は、認証をかけたいファイルのディレクトリにこの二種類の設定ファイルを設置するだけで実現する。

 まずは作成。.htaccessと.htpasswdはそれぞれ拡張子を持たないのでtouchコマンドを使うのが最適。

コマンドプロンプト
touch .htaccess
touch .htpasswd

 続いて記述。

.htaccess
AuthUserfile /フルパス/.htpasswd
AuthGroupfile /dev/null         
AuthName "message"
AuthType Basic
require valid-user
 //改行

 AuthUserfile:.htpasswdの場所をフルパスで記述。
 AuthGroupfile:requireで使用するグループファイルのパスを記述するが、要らない場合は/dev/nullでよい。
 AuthName:ダイアログに表示される文章。
 AuthType:認証タイプを指定。今回はBasic認証なので「Basic」。
 require:認証後にアクセスを許可するユーザー(グループ)を指定する。グループを指定する場合は、読み込んだグループファイルに記述したグループ名を書く。特に無ければvalid-userでよい。

.htpasswd
user:ハッシュ化したパスワード

 ユーザー名とハッシュ化したパスワードを書くだけ。

####パスワードのハッシュ化
 .htpasswdに書く内容は、ユーザー名とパスワードさえ決まっていればほぼ一意に決定する(おそらく)。
 なので、ハッシュ化を含めたコード生成を自動で行ってくれるサイトを使わせてもらうのが確実。
 .htaccess による認証用 パスワード暗号化ツール

####サーバーに設置
 作成した二つのファイルを、認証させたいファイルのあるディレクトリに設置する。そのディレクトリ下のすべてのファイルにBasic認証がかかる。

#注意点
サーバーのプログラムが読み込むファイルなので、ちょっとした記述の違いなどでエラーが頻発する。
以下、エラーが出た時、特に注意したい点。
####パーミッション
 .htaccessと.htpasswdのパーミッションは604か644にする。

コマンドプロンプト
 chmod 604(644) ファイル名

####ファイルの最後に空行を入れる
 空行により構文の終端が認識されるらしい。

####Apache再起動
 基本的に何かを変えたら再起動。

####Apacheの設定ファイルを変更する
 サーバー側の設定でBasic認証を有効する必要がある可能性がある。

httpd.conf
AllowOverride None  //削除
AllowOverride All   //追加
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?