.htaccessと.htpasswdファイルを使って手動でベーシック認証(Basic Auth)をかける方法
web制作時にサイトを公開するまではベーシック認証をかけておきたいケースがありますよね。レンタルサーバーであれば、レンタルサーバーの管理画面から設定できることもありますが、その他のサーバーを利用している場合には.htaccessと.htpasswdファイルを使って認証をかけるのが一般的です。
やりたいこと
ページにアクセスすると、上記のようなベーシック認証(Basic Auth)の画面を表示したいと思います。
ユーザー名とパスワードを設定して、ログインできるようにしていきます。
結論
# 認証タイプをベーシック認証を指定 AuthType BASIC # 認証の名前 AuthName "Input your ID and Password." # .htpasswd ファイルまでのフルパス AuthUserFile "/var/www/html/.htpasswd" # 全てのユーザーを対象にする require valid-user
# ユーザー名とパスワードを「:(半角コロン)」で繋げる user:password # パスワード例 sinciate:$apr1$kGbO0bjk$g8WnslsTgcEHh84MYqirz/
.htaccessファイルのあるディレクトリ以下のページにベーシック認証が設定されます。
また、パスワードは暗号化することが推奨されています。
パスワードの暗号化について
パスワードは平文でも使用できますが、セキュリティを強化するには暗号化する必要があります。
「ベーシック認証 パスワード 暗号化」などとウェブ検索すると、暗号化してくれるページがいろいろ出てきますが、1つだけご紹介します。
http://www.cityjp.com/cript/crpt.cgi
こちらのサイトで、ユーザー名とパスワードを入れると秒速で.htpasswdファイルに入力する1文を生成してくれます。
MD5を使った暗号化が強度が強いので、1番上の1行を使うとよいですね。