サイト閲覧者を簡単に制限 – BASIC認証の設定と解除の方法
コンテンツの閲覧者をIDとパスワードを管理することができる、BASIC認証の概要から設定方法と設定を解除する方法を解説します。
ホームページを制作、運営している方にとって、「全部または一部のコンテンツにパスワード制限をかけたい」というニーズは、必ず一度はお感じになったことだと思います。
しかし、サイトのコンテンツにIDとパスワードの制限をかけるとなると大がかりな仕掛けが必要なのではないかと思ってしまいがちです。そこまで大がかりな仕掛けではなく、簡単な設定で実現できないかとお考えではないでしょうか?
そのニーズを実現する方法として、BASIC認証があります。BASIC認証とはサーバー上の機能で、設定をすれば特定のディレクトリに対してパスワードロックをかけることができます。BASIC認証でロックをしたコンテンツはIDとパスワードが合致しなければ閲覧することができないため、公開前のサイトや特定の人だけに見せたいサイトなど、活用できる場面は多いと思います。
この記事ではBASIC認証の概要から設定方法と設定を解除する方法を解説します。
1.BASIC認証の基本と主な利用シーン
最初に、BASIC認証とはどんな機能なのかという基本を解説します。
1-1.BASIC認証とは
BASIC認証とは、特定のディレクトリに設定をすることでIDとパスワードがなければそのディレクトリ以下のコンテンツを閲覧できなくすることができる機能です。BASIC=基本という意味なので、基本認証とも呼ばれています。
1-2.BASIC認証にできること
BASIC認証を設定すると、そのディレクトリ以下のコンテンツはIDとパスワードを入力しないと見ることができなくなります。BASIC認証が設定されているコンテンツにアクセスしようとすると、以下のようにIDとパスワードを入力する画面が表示されます。
この画面が表示されたら、対象のコンテンツにはBASIC認証が設定されていることが分かります。正しいIDとパスワードを入力しなければ認証エラーとなり、コンテンツは表示されません。
1-3.BASIC認証の主な利用シーン
それでは、BASIC認証はどんな場面で用いられているのでしょうか。
1-3-1.公開前サイトの閲覧管理
まだ公開時期になっていないサイトや、Web制作会社などがサイト制作後、依頼主の最終的なOKが出ていないサイトなど、公開前のサイトを本公開するサーバーにアップロードしておいても、BASIC認証を設定しておけば特定の人しか閲覧できないように制限することができます。
1-3-2.自作ポートフォリオなどの管理
クリエイティブ系職業の人の中には、自分の制作物をアピールするためにポートフォリオといって作品集のようなサイトを設置している人がいます。しかし、そのポートフォリオを誰でも見られるようにしてしまうと、下請けで受注した制作物などの場合に各種の問題が生じる可能性があります。
このような場合にも、BASIC認証を設定しておいて成果物を見せたい人にだけIDとパスワードを知らせて見てもらうという使い方ができます。
1-3-3.特定ユーザー向けコンテンツの管理
例えば医師向けの医療情報コンテンツなど、特定の資格を持っている人向けのコンテンツは、法律の関係上誰でも見られる状態にしてはいけない場合があります。そんな場合にはBASIC認証を設定して、医師免許を持っている人にだけIDとパスワードを発行して閲覧できるようにするという運用が可能になります。
1-3-4.検索エンジンに掲載したくないコンテンツの管理
検索エンジンの検索結果に表示させたくないコンテンツの場合、「noindex」という設定を用いる方法がありますが、より確実に見られたくない場合はBASIC認証を設定しておけば、検索エンジンが巡回してきてもIDとパスワードが分からないため、コンテンツの中身を知ることができずインデックスされません。
1-4.BASIC認証の注意点
閲覧ユーザーを限定することができるBASIC認証は便利な機能ですが、この機能を使うにあたっての注意点もあります。
1-4-1.あくまでも簡易的な認証方法である
BASIC認証=基本認証と呼ばれていることかもお分かりのように、このBASIC認証はあくまでも簡易的な機能であり、「手軽にアクセス制限をしたい」というニーズに応えるものです。
一度ブラウザを閉じるまでは再びIDとパスワードを入力することなくアクセスできてしまうという注意点がありますし、複数のディレクトリにまたがって認証を維持することができないなど機能面においても限界があります。
1-4-2.自力で設定するには一定の知識を要する
簡易的な機能で手軽に設定できるとはいえ、BASIC認証を設定するにはサーバーの知識やFTP、暗号化に関する若干の知識を要します。ホームページ制作や運営をしている方であればそれほど難しくないとは思いますが、最初は少々難しく感じるかもしれません。
1-4-3.パスワードは暗号化されるが通信は暗号化されない
BASIC認証が関門を設けているのはコンテンツを閲覧する入口だけであり、SSL通信になっていない限りは通信内容が保護されているわけではありません。認証を要するコンテンツなので強固なセキュリティ機能だと思われがちですが、単にアクセスする人を制限しているだけの機能だということに留意してください。
2.BASIC認証の設定方法
ここでは、具体的にBASIC認証を設定する方法を解説します。できるだけ分かりやすく丁寧に解説していきます。
2-1.認証を必要とするディレクトリを決める
最初に決めるのは、BASIC認証を設定するディレクトリ(つまり特定の人だけに閲覧を許可するコンテンツがあるディレクトリ)を決めます。そのディレクトリ直下に、これから作成するファイルを置くことになります。
2-2.フルパスを調べる
BASIC認証を設定するためには、「.htaccess」「.htpasswd」というファイルを作成して認証を適用したいディレクトリにアップロードする必要があります。
そのファイルを作成するのにあたって、フルパスといってそのディレクトリの絶対的位置を記述するため、まずはそのディレクトリがルートディレクトリからどこにあるのかを知る必要があります。
そこで使うのが、以下のPHPファイルです。以下のスクリプトをコピーペーストしてテキストファイルを作成し、任意の名前に「.php」という拡張子を付けて保存してください。
<?php
echo __FILE__;
?>
このPHPファイルを、BASIC認証を設定したいディレクトリにアップロードして、ブラウザからアクセスします。
すると、このPHPファイル自身のフルパスが表示されます。
ここに表示されているのが、これからBASIC認証を設定するディレクトリのフルパスです。コピーペーストするために、この画面は開いたままにしておいてください。
2-3.「.htaccess」を作成する
次に、「.htaccess」というファイルを作成します。定型のスクリプトがあるので、以下のスクリプトをそのままテキストエディタにコピーペーストしてください。
AuthUserFile (先ほど調べたフルパス)/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
require valid-user
<Files ~ “^.(htpasswd|htaccess)$”>
deny from all
</Files>
この1行目に先ほど調べたフルパスをコピーペーストします。ただし、このPHPファイルを示す最後のファイル名(例の場合はtest.phpの部分)は省いて、その直前部分までをコピーします。このフルパスにより、これから作成してアップロードする「.htaccess」の位置をサーバーに知らせます。
このファイルを「.htaccess」というファイル名で保存して、BASIC認証を設定するディレクトリにアップロードします。
2-4.「.htpasswd」を作成する
先ほどの「.htaccess」はBASIC認証を設定するためのファイルで、次に作成する「.htpasswd」は、IDとパスワード情報を格納するためのファイルです。
ID名:Pass
という書式で必要な人数分だけ行数を増やして記述します。もし3人分のアカウントが必要なのであれば、
ID名:Pass
ID名:Pass
ID名:Pass
といったように記述をしていきます。
ここで重要なのが、Passの部分に入るパスワードはそのまま記述するのではなく暗号化したものを記述しなければなりません。.htpasswdの作成について調べればパスワードの暗号化を行うサイトがいくつか出てきますので、それらのサイトでパスワードを暗号化してください。
例えば、「user01」というユーザー名で、パスワードも同じく「user01」と入力してみます。すると結果は、
user01:OQmgn/xLMIuNs
となりました。
複数のアカウントが必要な場合は、この作業を繰り返してください。
これで設定ファイルの作成は完了です。この「.htpasswd」ファイルも先ほどと同じくBASIC認証を設定するディレクトリにアップロードします。なお、アップロード後にこの両ファイルのパーミッションが「755(rwxr-xr-x)」もしくは「705(rwx—r-x)」になっていることをご確認ください。
2-5.BASIC認証が有効になっているかを確認する
では、これらのファイルをアップロードしたディレクトリにアクセスしてみましょう。
このように、ちゃんとBASIC認証が有効になっています。ユーザー名欄とパスワード欄それぞれに「user01」を入力して「ログイン」をクリックすると、BASIC認証で保護されているコンテンツを閲覧することができました。
このように、ちゃんとBASIC認証が有効になっています。ユーザー名欄とパスワード欄それぞれに「user01」を入力して「ログイン」をクリックすると、BASIC認証で保護されているコンテンツを閲覧することができました。
3.BASIC認証を解除する方法
BASIC認証によるアクセス制限の必要がなくなった時のために、認証設定を解除する方法を解説します。
3-1.「.htaccess」を書き換える
BASIC認証を無効にするには、アップロードした「.htaccess」の内容を以下のスクリプトに変更します。
Satisfy any
order allow,deny
allow from all
新たに上記の「.htaccess」を作成してアップロードしても良いですし、サーバー上からダウンロードして書き換えて再びアップロードしても構いません。また、BASIC認証を使わないのであれば「.htpasswd」は不要なので、FTPクライアントソフトから削除しておきましょう。
3-2.BASIC認証が解除されているかを確認する
これらのファイルを削除したページにアクセスしてみてください。先ほどの認証ウインドウが表示されず、そのままコンテンツが表示されることが確認できれば解除完了です。
4.まとめ
簡易的な認証機能でありながら便利であることから多くのWeb制作者の間で普及しているBASIC認証について、可能な限りシンプルかつ分かりやすいように解説しました。基本的に解説に出てくるテキストをコピーペーストするだけなので、希望通りの設定ができたのではないでしょうか。
利用する場面に応じて、積極的に活用してください。
※記事内容の利用実施は、ご自身の責任のもとご判断いただくようお願い致します。
その他の情報
ノートンのソーシャルアカウントをフォローして、最新ニュースやお得な情報をゲットしよう。