ベーシック認証とはWebサイトを閲覧するときに使うHTTPで行える認証方式です。
とても簡単に設定することが出来るところや、ほとんどのサーバーやブラウザに対応していることから広く使われています。
ネットではApacheでのサンプルが多いですが、その他のサーバーソフトでも利用できます。
認証設定した個所にブラウザからアクセスすると、IDとパスワードの入力が求められます。
これらを入力して送信し、サーバー上の認証情報と一致するか確認が行われます。
そして、一致した場合に認証が許可されるという流れになっています。
このIDとパスワードをサーバーに送信するときは、暗号化されていなく生データが送られています。
そのため、盗聴や改ざんが容易に行えるという欠点があります。
このことを理解し、重要な部分にベーシック認証を行うのは辞めましょう。
ベーシック認証を設定するためには2つのファイルを設置する必要があります。
.htaccess ・・・ ベーシック認証の設定
.htpasswd ・・・ 認証情報
.htaccess を以下のように記述して、制限をかけたいディレクトリ内に置きます。
AuthUserFile フルパス/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
.htaccessで記述した AuthUserFile のパスに .htpasswd を置きます。
記述する文字列は、こちらのようなサイトで取得できます。
設定例 :
user:A4KoMKFP7GLhQ
ブラウザから .htaccessを設置したパスへアクセスします。
設定したIDとパスワードでログインできることを確認してください。
できなければ設定が間違っています。
今回は認証だけの設定を行いましたが、.htaccess ではIPアドレスによる制限を行うことができます。
ベーシック認証とIPアドレス制限を組み合わせて使うこともできるので、覚えておくと良いと思います。