htpasswdファイル生成ツールとは?
htpasswdファイル生成ツールとは、Basic認証(ベーシック認証)に使う.htpasswdファイルの中身(ユーザー名とハッシュ化されたパスワードの組)を作成するツールです。通常はサーバーのコマンド(htpasswdコマンド)で生成しますが、本ツールを使えばブラウザだけで同じ形式の文字列を生成できます。パスワードのハッシュ化はすべてブラウザ内で行われ、入力内容がサーバーに送信されることはありません。
htpasswdファイル生成ツールの使い方
- ユーザー名とパスワードを入力する複数ユーザーが必要な場合は「+ユーザーを追加」で行を増やせます。
- 結果をコピーする生成された「ユーザー名:ハッシュ」の行をコピーします。
- .htpasswdファイルとして設置するコピーした内容を「.htpasswd」というファイル名で保存し、サーバーにアップロードします。あわせて.htaccessに認証設定を記述します(下記参照)。
対になる.htaccessの記述例
Basic認証を有効にするには、制限したいディレクトリに以下のような.htaccessを設置します。AuthUserFileは.htpasswdのサーバー上のフルパスで指定します。
AuthType Basic
AuthName "Enter your ID and Password."
AuthUserFile /home/ユーザー名/example.com/.htpasswd
Require valid-user
.htaccess自体の生成はhtaccessファイル生成ツールで行えます。
ハッシュ方式の選び方
MD5(APR1):Apacheのhtpasswdコマンドのデフォルト方式($apr1$形式)で、国内のレンタルサーバーを含むほぼすべてのApache環境で動作します。迷ったらこちらを選んでください。
SHA-1({SHA}形式):一部の環境やツールとの互換用です。saltを使わないため同じパスワードからは常に同じハッシュが生成されます。
こんな場面で使えます
テストサイトの保護
公開前の制作中サイトにBasic認証をかけて、クライアントだけに共有できます。
会員専用ページの簡易保護
特定ディレクトリを関係者のみ閲覧可能にする、最も手軽な方法です。
管理画面への二重ロック
WordPressのログイン画面などに、もう一段の認証を追加できます。
よくある質問
同じパスワードなのに生成のたびに結果が変わるのはなぜですか?
MD5(APR1)方式はsalt(ランダムな文字列)を混ぜてハッシュ化するためです。結果が違っても、どれも同じパスワードで正しく認証できます。これは仕様であり、むしろ安全性を高める仕組みです。
入力したパスワードは送信されませんか?
されません。ハッシュ化の計算はすべてブラウザ内のJavaScriptで完結しており、入力したユーザー名・パスワードが外部に送信・保存されることは一切ありません。
.htpasswdはどこに置けばいいですか?
Webからアクセスできない場所(公開ディレクトリの外)に置くのが理想です。公開ディレクトリ内に置く場合は、.htaccessで.htpasswdへのアクセスを拒否する設定を併用してください。
Basic認証はどのくらい安全ですか?
通信がHTTPSであれば、パスワードの盗聴リスクは低く実用上十分です。ただし本格的な会員管理には向かないため、簡易的なアクセス制限として使うのが適切です。