Basic認証の使い方

ブログ

Blog
  1. ホームページ制作・運営はアウラ:ホーム
  2. ブログ
  3. Basic認証の使い方

Basic認証の使い方

Basic認証の使い方

Web制作では公開前のサイトや検索結果に表示させたくないページをBaisc認証を使って閲覧制限をかけることが多くあります。

「とりあえずhtaccessにこれ書いておけば動く」と、仕組みはよくわからず使っている人も多いと思います。今回はそんなBasic認証の紹介をしたいと思います。

Basic認証の基本的な使い方

Basic認証は「.htaccess」というWebサーバーの設定ファイルに記述します。
そして、閲覧に必要なIDとパスワードを設定した「.htpasswd」のファイルを用意してあげます。これら2つのファイルを、認証をかけたいディレクトリにアップします。

まずは基本的な使い方から、「.htaccess」に以下を追記します。

「AuthUserFile」には「.htpasswd」のサーバールートからのパスを指定します。「.htpasswd」はパスワードを暗号化した状態でIDとペアで設定します。

コロンを挟んでIDとパスワードのペアを1行ずつ記述します。パスワードは素のテキストでは使えず、暗号化する必要があります。
.htaccess による認証用 パスワード暗号化ツール」で簡単にIDと暗号化したパスワードを作ることができます。

「.htpasswd」で設定したID/パスワードでBasic認証下のページにアクセスできるようになります。

特定のファイルのアクセスを許可する

Basic認証は基本的に認証をかけたディレクトリ以下は全て認証が必要になりますが、特定のファイルだけ認証をかけたくない場合は、「.htaccess」に以下を追記します。

「FilesMatch “(xxx\.php)$”」の(xxx\.php)は正規表現で除外したいファイルを指定しています。正規表現にマッチするファイルは認証なしでアクセスできるようになります。

特定のディレクトリ以下のアクセスを許可する

ファイルではなくディレクトリも認証から除外することができます。ディレクトリの場合は下の階層のディレクトやファイル全てが除外対象となります。
ディレクトリの場合は、対象にするディレクトリの「.htaccess」に以下を記述します。

特定のIPからのアクセスを許可する

Basic認証下でも特定のIPからのアクセスの場合は認証なしでアクセスできるようにすることもできます。
具体的な利用場面としては、プログラムからBasic認証下のファイルにアクセスする場合などがあります。

基本的な書き方に以下を追記します。

「allow from 111.222.333.444」で許可するIPアドレスを指定します。

特定のリクエストのみ認証をかける

GETやPOSTなどの特定のリクエストのみ認証をかけることも出来ます。「.htaccess」に以下を追記します。

上記の場合だと、GETとPOSTリクエストがある場合に認証が必要になります。

例えばAPIでPostするときに、Basic認証があってエラーになってしまう場合は、LimitからPOSTを外してあげると良いでしょう。

まとめ

いかがでしょうか。
簡易的に閲覧制限を設けるのみBasic認証はお手軽な手段なので、使う場面は多いですが、プログラムの処理やAPI、SNSまわりでページを取得できずにエラーになってしまうケースもあると思います。そういった時に上記のような設定をしてあげると上手くいくかもしれません。

前後の記事

お電話でのお問い合わせはこちら:06-6292-8577。受付時間は平日9:30~18:30 インターネットからは24時間受付中!お問い合わせフォームはこちら