Basic認証でお手軽にフォルダ単位のアクセス制御を実現

Basic認証でフォルダにアクセス権限をかけるためには、該当するフォルダに.htaccessと.htpasswdの2つのファイルが必要になります。

.htaccessに.htpasswdファイルの絶対パスを記述し、.htpasswdにユーザーIDとパスワード(暗号化済み)を記述します。

.htaccessはApacheで使用されるディレクトリ単位でWebサーバの動作を制御するために置かれるファイルです。ただし.htaccess はビルトインサーバ上ではただの1ファイルにすぎないのでビルトインサーバーではBasic認証は使用できません。

Basic認証の概要

ApacheなどのWebサーバの動作をディレクトリ単位で制御するためのファイルであり、具体的には、CGIやSSIなどを実行するための宣言(命令)や、拡張子ごとにファイルタイプを指定するMIMEタイプの設定、ユーザ認証、IPアドレスやドメイン単位でのアクセス制限などを書き込むことができます。

.htaccessファイルで設定した内容は、.htaccessファイルがあるディレクトリとそのサブディレクトリに効果があり、効果があるディレクトリに入っているファイルすべてに影響を及ぼします。また、サブディレクトリにも.htaccessファイルを別に置くこともでき、この場合は両方のファイルの効果が発生する(矛盾するときはサブディレクトリの設定を優先)。

名前が「.htaccess」なだけで、その正体は普通のテキストファイルなのでメモ帳で作成可能です。.htaccessで保護されたフォルダにはロボット検索もは入れません。ちなみに検索ロボットは「クローラー」「スパイダー」などとも呼ばれ、 常にWEBを巡回し、巡回したウェブサイトの情報をデータベース化するプログラムです。

.htaccessの書き方

レンタルサーバーのコントロールパネルの「アカウント情報」部分に絶対パスが書いてありますのでこれをファイルパスとして記述します。

.htpasswdの書き方

ユーザーIDとパスワードを書くわけだですが、パスワード部分はインターネット上の暗号化サイトで暗号化するのが一般的です。

hogehoge:4CUbLFOhm/sNg

ちなみにBASIC認証によるログインは普通のログインと違い一度ブラウザを閉じないとログアウトできない仕様になっています。

お手軽にユーザー認証をかけられるのはいいのですが、Basic認証はパスワードがそのままHTTPのネットワークを流れるので、盗聴などセキュリティ上の危険性が高いことは認識しておくべきです。

最新情報
お届けします

Twitter で