ホームページ作成/アクセス制限・認証、サイト内検索

基本認証でアクセス制限をかける方法

ウェブサイト内の特定のページやディレクトリにアクセス制限を施す方法として、基本認証(BASIC認証・ベーシック認証)の使い方を初心者向けに解説。ユーザー認証(IDとパスワードの入力)が必要な会員制ホームページの作り方をご紹介。

この記事の担当ガイド

Web作成が楽しくなるお手伝い。分かりやすい解説を探求するWeb職人

  • このエントリーをはてなブックマークに追加

ウェブサイトのアクセス制限方法(基本認証)

基本認証を使って、ページの閲覧前にIDとパスワードの入力を求めるアクセス制限(ユーザー認証)を施す

基本認証を使って、ページの閲覧前にIDとパスワードの入力を求めるアクセス制限(ユーザー認証)を施す

限定した人々にのみ公開したい会員制コーナーを作りたいときや、特定の人物だけにファイルを渡したい場合など、「ウェブサイト内の特定の領域」にアクセス制限を施したいと思うこともあるでしょう。ウェブ上でのアクセス制限方法にはいろいろありますが、IDとパスワードを用意した「ユーザー認証」を行うアクセス制限が便利です。

そこで今回は、「.htaccess」という特殊なファイルを使って、基本認証(BASIC認証)と呼ばれるアクセス制限機能(ユーザー認証機能)をウェブサイト内に設置する方法をご紹介致します。

基本認証(BASIC認証)とは

基本認証は、ほとんどのウェブサーバやブラウザで利用できる、ウェブ上での簡単なユーザー認証の仕組みです。基本認証が施されているページへブラウザでアクセスしようとすると、下図のような認証ダイアログが表示され、IDとパスワードの入力が求められます。

様々なブラウザでの基本認証ダイアログの例

様々なブラウザでの基本認証ダイアログの例


パスワードだけでなくID(ユーザ名)の入力も必要なことから分かるように、複数のユーザに対して個別のアクセス用パスワードを発行できます。もちろん、「1組のIDとパスワード」だけを用意しておいて、全員共通のアカウントとして利用することもできます。

ウェブサイト内の指定ディレクトリ(フォルダ)へのアクセスを一括制限

基本認証では、ページ単位ではなくディレクトリ(フォルダ)単位でアクセスを制限できます。ですから、制限を施したディレクトリ内のどのURLを直接指定してアクセスしても、必ず認証ダイアログが表示されます。特定のページ(HTML)へのアクセスはもちろん、画像などへの直接アクセスでも認証ダイアログが表示されます。IDとパスワードの入力を避けて何かを閲覧することはできません。

指定ディレクトリ以下のすべてが認証の対象になる

指定ディレクトリ以下のすべてが認証の対象になる


細かく設定を記述すれば、「ディレクトリ単位」ではなく「特定のページやファイルだけ」にアクセス制限をかける(ユーザー認証を施す)ことも可能です。今回の記事ではそこまでは解説していませんが、関連する内容の記事をいくつか公開していますので、記事末の関連記事リストもご参照下さい。

ユーザー認証はブラウザを終了するまで有効
基本認証の仕組みでは、一度認証に通れば、ブラウザを終了するまで何度でも再認証なしでアクセスできます。たとえ、一旦他のウェブサイトへ移動してから戻ってきたとしても、再度IDやパスワードを入力する必要はありません。閲覧者にかける手間は最小限で済みます。

IDやパスワードはブラウザに記憶できる
また、たいていのブラウザには、IDとパスワードを記憶しておく機能が用意されているため、閲覧者がその機能を利用すれば、アクセスのたびにIDとパスワードを入力する手間を省けます。

アクセス制限は検索エンジンのクローラーもブロックする
なお、基本認証を施した領域には検索エンジンのクローラーもアクセスできません。したがって、どのページも情報収集の対象にはならないため、検索結果に出て欲しくないページを公開する場合にも活用できます。

認証できずにアクセス制限を受けた場合の表示

401 Authorization Required エラーページ

401 Authorization Required エラーページ

正しいパスワードを入力できずに認証をキャンセルすると、右図のように「401 Authorization Required」エラーメッセージが表示されて、アクセスが拒否されます。ここで表示される内容は、ウェブサーバの種類によって異なります。また、ブラウザによっては独自のエラー画面を表示するかもしれません。


 
エラーメッセージを独自のページに置き換えた例

エラーメッセージを独自のページに置き換えた例

なお、この「401 Authorization Required」エラーメッセージに代わる独自のエラーページを自分で作成することもできます。

エラーメッセージを独自のページに置き換える方法については、記事「Not Foundなど エラーメッセージを独自作成」で解説していますので、そちらをご参照下さい。なお、この方法にも、基本認証を施すのと同じ「.htaccess」ファイルを利用します。


 

基本認証をウェブサイト上で利用するためには

サーバのサポートページを見れば、「.htaccess」ファイルの使用可否が分かる。※さくらインターネットの例

サーバのサポートページを見れば、「.htaccess」ファイルの使用可否が分かる。※さくらインターネットの例

今回ご紹介する基本認証の使い方は、Apacheというウェブサーバの設定ファイルである「.htaccess」という特殊なファイルを作って利用します。この「.htaccess」ファイルは、レンタルサーバであればたいてい利用できます。しかし、残念ながら、プロバイダ提供スペースや無料スペースでは利用できないこともあります。

お使いのサーバで、「.htaccess」ファイルによる設定が利用可能かどうかは、各サーバ提供会社のヘルプをご覧になるか、管理者へお尋ね下さい。

基本認証を使ってアクセス制限を施す手順

基本認証を利用するために用意する2つのファイル

基本認証を利用するために用意する2つのファイル

基本認証を利用するには、次の2つのファイルを作成する必要があります。

(1) ウェブサーバの設定を記述する「.htaccess」ファイル
(2) 基本認証用のIDとパスワードを記述する「.htpasswd」ファイル

それでは次のページから、基本認証を使ってウェブサイト内の特定の領域にアクセス制限を施す方法について、順にご紹介致します。

【この記事の目次】
[Step.1] 基本認証を利用する設定を記述した「.htaccess」ファイルを作る (p.2)
[Step.2] 基本認証用のIDとパスワードを格納した「.htpasswd」ファイル作る (p.3)
[Step.3] 基本認証を使ってみる/認証がうまくいかない場合の対処方法 (p.5)

※この記事は、初版を2002年9月12日に公開し、改訂第1版を、2008年5月13日に公開、改訂第2版を、2013年4月に公開しました。記事内で使われている一部の画面イメージは、2002年や2008年時点のものです。

更新日:2013年04月30日

(公開日:2002年09月12日)

あわせて読みたい

    この記事を読んで良かったですか?

    良かった

    12

    この記事を共有する