WEBサイトにベーシック認証を設定する方法を紹介

WEBサイトにベーシック認証を設定する方法を紹介します。
例えば、サイトをテストアップする際に、閲覧制限のためにユーザー認証を設定したい場合に便利な方法です。
ベーシック認証を設定するには、.htaccess と .htpasswd ファイルを作成する必要があるので、詳しい作成方法を順を追って説明します。

  1. .htaccess とは?
  2. .htaccess ファイルの作成方法
  3. .htpasswd ファイルの作成方法

.htaccess とは

.htaccess(ドットエイチティーアクセス)とは、Webサーバーをディレクトリ単位で制御するためのファイルのことを言います。
例えば、リダイレクトの設定やベーシック認証などの各種設定を行うことができるのですが、Apache (アパッチ) と呼ばれるソフトウェアが使用されている環境が必要です。

.htaccess ファイルの作成方法

ベーシック認証の設定にあたり、.htaccess ファイルの作成方法を紹介します。
ベーシック認証を設定したいディレクトリに、.htaccess と言う名前のファイルを作成、パーミッションの設定は 604 にします。
この時不可視ファイルを表示できるようにしてください。
ファイルを作成できたら次のコードを追加してください。


AuthUserFile /home/.../.htpasswd
AuthGroupFile /dev/null
AuthName 'Please enter username and password'
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>

AuthUserFile

AuthUserFile は後に後述する .htpasswd のフルパスを指定します。
設置ディレクトリが不明な場合は、フルパスを確認する方法があります。
まず設置ディレクトリに sample.php ファイルを作成して、次のコードを追加してください。


<?php echo __FILE__; // フルパスを表示 ?>

コードを追加後ブラウザーで sample.php ヘアクセスすると、sample.php までのフルパスが表示されるので、そのパスを AuthUserFile に指定してください。

AuthGroupFile

AuthGroupFile はグループ単位で認証を行うためのファイルを指定します。
今回はグループ単位の設定は行わないので、/dev/null(ファイルは存在しない)と指定します。

AuthName

AuthName はダイアログに表示される文字列を指定します。

AuthType

AuthType ユーザー認証の方法を指定します。
今回は Basic(基本認証)と指定します。

.htpasswd ファイルの作成方法

次に、ユーザー認証を行うためのIDとパスワードを設定する .htpasswd ファイルの作成方法を紹介します。
AuthUserFile で指定してフルパスと同じ場所に .htpasswd ファイルを作成。
こちらも、不可視ファイルを表示できるようにしてください。
ファイルを作成できたらIDパスワードを追加してください。
次のコードは、ID が hogehoge パスワードが fugafuga の場合です。


hogehoge:fugafuga

この場合、パスワードが暗号化されていなくて不安なのでパスワードを暗号化します。
IDとパスワードを設定するには次のサービスを利用すると便利です。

・.htaccess による認証用 パスワード暗号化ツール
・パスワード生成(パスワード作成)ツール

以上で設定は終わりです。
ユーザー認証がうまくいかない場合は、パーミッションの設定やディレクトリの設定を確認しましょう。

まとめ

WEBサイトにベーシック認証を設定する方法を紹介しました。
自前で設定する方が理解が深まりますが、レンタルしているサーバーによっては管理画面からベーシック認証を設定できるサーバーも多いので、それらを利用するのも一つの手だと思います。
あと余談ですが、クライアントなどにIDとパスワードを連絡する際は、「ID : xxx」や「pw : xxx」のように : の後に半角スペースを設けると、ダブルクリックで簡単に選択できるので地味に便利です。余談でした…。

スポンサーリンク

合わせて読みたい関連記事