
Webサイトに鍵をかける!Basic認証の仕組みと作り方
開発中のサイトや関係者限定のページでよく使われる「Basic認証」。その仕組みから、.htaccessの書き方、そしてもっと簡単に設定する方法まで、セキュリティの基礎を解説します。
「Basic認証」って何?
Webサイトにアクセスしたとき、ブラウザの上部からひょこっとログイン画面が出てきた経験はありませんか? ユーザー名とパスワードを入力しないと中身が見られない、あれが「Basic認証(ベーシック認証)」です。
どんな時に使うの?
- 開発中のテストサイト: 一般公開前に、関係者だけで確認したいとき
- 社内限定の管理画面: 特定の社員だけがアクセスできるようにしたいとき
- 会員限定コンテンツ: 簡易的な会員サイトを作りたいとき(※セキュリティ強度は高くありません)
仕組みは意外とシンプル
Basic認証は、Webサーバー(ApacheやNginxなど)の機能を使って実現されています。 具体的には、サーバー内の特定のディレクトリ(フォルダ)に、「ここから先は合言葉が必要だよ」という設定ファイルを置くことで機能します。
必要な2つのファイル
.htaccess(ドット・エイチアクセス): 認証を有効にするための設定ファイル.htpasswd(ドット・エイチパスワード): ユーザー名と暗号化されたパスワードを保存するファイル
この2つをサーバーにアップロードするだけで、簡単に鍵をかけることができます。
Basic認証の設定方法(手動編)
サーバーの知識が少し必要ですが、仕組みを知るために手順を見てみましょう。
1. .htaccessファイルを作成
メモ帳などのテキストエディタで以下のコードを書き、.htaccess という名前で保存します。
AuthType Basic
AuthName "Please enter your ID and password"
AuthUserFile /home/user/www/.htpasswd
Require valid-user
AuthUserFile:.htpasswdファイルを置く場所(フルパス)を指定します。これが間違っていると動きません。
2. .htpasswdファイルを作成
ここが最大の難関です。.htpasswd には、パスワードをそのまま書いてはいけません。ハッシュ化する必要があります。
ダメな例:
user:password123
正しい例:
user:$apr1$7f8a...(暗号化された文字列)
この暗号化された文字列を作るために、専用のコマンドやツールが必要になります。
簡単に作りたいならツールを使おう
「コマンドとかよく分からない」「もっと手軽に作りたい」
そんな方のために、JeneeではBasic認証作成ツール(htpasswd生成)を用意しています。
ツールの使い方
- ユーザー名を入力(例: admin)
- パスワードを入力(例: secret123)
- 生成アルゴリズムを選択(通常は推奨の「MD5」または「Bcrypt」でOK)
- 「生成」ボタンをクリック
これだけで、.htpasswd にコピペできる文字列が一瞬で作成できます。
さらに、.htaccess の中身も同時に生成してくれるので、あとはサーバーのフルパスを書き換えるだけで完了です。
セキュリティ上の注意点
Basic認証は手軽で便利ですが、完璧ではありません。
通信が平文(暗号化されていない)だと危険
SSL(https)化されていないサイトでBasic認証を行うと、ユーザー名とパスワードがそのままネット上を流れてしまいます。盗聴されるリスクがあるため、必ず SSL対応(https)されたサイト で利用しましょう。
ログアウト機能がない
Basic認証には「ログアウト」ボタンがありません。一度ログインすると、ブラウザを完全に閉じるまでログイン状態が維持されます。「ちょっとログアウトして別のユーザーで...」といった操作がしにくいのが難点です。
まとめ
Basic認証は、Web制作の現場では避けて通れない基本技術の一つです。 仕組みを理解し、ツールを使って効率的に設定できるようになれば、「テスト環境に鍵をかけておいて」と言われても焦ることはありません。
ポイント:
- 特定のページに簡易的な鍵をかける機能
.htaccessと.htpasswdの2つが必要- パスワードは暗号化(ハッシュ化)が必要
- ツールを使えば一瞬で作れる
ぜひ、Jeneeのツールを活用して、快適なWeb制作ライフを送ってください。