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

閲覧しているウェブページで利用されている HTTP のバージョンを確認する方法

ウェブブラウザで ウェブサイトを閲覧している際、HTTP のどのバージョンが使われているのか確かめる方法を紹介します。 目次Chrome の場合FirefoxEdge Chrome の場合 (1) ウ …

CSS

CSS の基礎

目次1. CSS とは?2. CSS のバージョン(分類)Cascading Style Sheets, level 1Cascading Style Sheets, level 2 (CSS2)Ca …

Chrome

Chrome で拡張機能を使わずにスクリーンショットを撮る方法

Chrome で拡張機能を使わずにスクリーンショットを撮る方法について説明します。

Web

ウェブ上の「名前を付けて画像を保存」ができない画像をダウンロードする方法

目次1. 「名前を付けて画像を保存」ができない画像2. この手の画像を保存する方法3. おわりに 1. 「名前を付けて画像を保存」ができない画像 ウェブページに載っている画像をダウンロードしたい場合、 …

MathJax を試してみました。

MathJax は、HTML上で数式を美しく表示するための JavaScriptライブラリです。 基本的な使い方は、 HTMLファイルに以下を記述して MathJax.js を読み込みます。HTMLフ …