Web

Basic認証の設定手順

投稿日:2020年3月24日 更新日:

1. Basic認証とは?

HTTP認証の中で最も一般的なのが、Basic認証です。

Basic認証では、ユーザーが入力したパスワードが Basic64 でエンコードされてサーバーに送信されるのですが、Basic64 はデコード(真逆の変換)できるため、通信の内容を見られるとパスワードが知られてしまうという弱点を持っています。そのため、通常は HTTPS と合わせて利用します(通信内容が暗号化されますので)。

手軽であるため、レンタルサーバーでのアクセス制限機能などにも利用されています。

2. Basic認証の設定手順

ウェブサーバーには Apache を想定し、設定ファイルには .htaccess ファイルを利用するという前提で説明します。

(1) パスワードファイルを生成する

htpasswd コマンドを実行して、ユーザー名やパスワードを記録したパスワードファイルを生成します。

$ htpasswd -c {ファイルパス} {ユーザー名}

実際に実行した例が以下です。

$ htpasswd -c .htpasswd foo
New password:
Re-type new password:
Adding password for user foo

$ cat .htpasswd
foo:$apr1$2/Dzi6od$Tpp/I/WL/iEEST20tcDbj/

ここでは、以下を指定しました。

  • ファイル名 .htpasswd
  • ユーザー名 foo
  • パスワード password

ウェブからこのファイルを読まれないように、このファイルはドキュメントルートの外に配置するか、適切なパーミションを設定しておきます。

参考

(2) Apache の設定ファイルに認証するための記述を行う

ここでは、特定のディレクトリに対して Basic認証を掛ける場合を想定し、そのディレクトリ直下の .htaccess ファイルに設定を記述します。

AuthType Basic
AuthName "{領域名}"
AuthUserFile "{パスワードファイルへのパス}"
Require valid-user
  • AuthType と Require は上記のまま記述します。
  • AuthName と AuthUserFile は、自分が決めた内容を記述します。

一例を示します。

AuthType Basic
AuthName "Basic Auth"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

今回のように.htaccess ファイルを利用する場合は、Apache を再起動する必要はありません。

以上の設定を行うと、Basic認証が有効になります。

3. おわりに

認証しないと特定のウェブページが見られないようにしたい場合、Basic認証は手軽で便利です。但し、HTTPS を併用することを徹底しましょう。

Web

Digest認証の設定手順

2020.03.23

4. 参考

📂-Web

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

プライバシー

「Web閲覧履歴をもとにした広告配信」についての調査結果

上の記事で興味深いアンケートが行われていました。 「Web閲覧履歴などをもとにカスタマイズされた広告が配信されていると認識している人」がそのような広告に対してどう思っているかについて聞いたところ、以下 …

WordPress

WordPress の推奨環境

WordPress を動作させるための推奨環境については、以下のページに載っています。 About » Requirements — WordPress 最初に、 To run WordPress w …

インターネット上での検索方法

Google 画像検索を表すURL http://images.google.com/search?tbm=isch&q=検索キーワード 執筆中

Glitch

Glitch に DokiWiki を設置しようとして失敗しました

Glitch に DokuWiki を設置しようとしたのですが、残念ながら失敗してしまいました。ここにその記録を残しておこうと思います。

プライバシー

ウェブブラウザのサードパーティ・クッキーを無効にする方法

目次1. サードパーティ・クッキーとは?2. サードパーティ・クッキーを無効にする手順Chrome の場合Firefox の場合Microsoft Edge の場合Internet Explorer …