サイトへのアクセスを制限する方法は数多くありますが、今回はその中で最も簡単に導入できるBASIC認証の設定方法を紹介します。
BASIC認証とは、サイトにアクセスした時に以下のようなポップアップを表示して、設定したIDとパスワードを入力すると閲覧できる認証機能です。公開前のホームページを見られたくない場合や、特定のユーザーのみ閲覧させたい場合などによく使われています。
BASIC認証は、次の3つを行うだけで簡単に設定できます!
1.「.htaccess」に記述する。
2.「.htpasswd」を作成する。
3.サーバーにアップする。
1.「.htaccess」に記述する。
まず初めに、「.htaccess」に下記の記述を行います。
「.htaccess」ファイルが無い場合は、テキストエディタなどで作成して該当のフォルダに保存します。
AuthType Basic
AuthName "Please enter your ID and password"
AuthUserFile /フルパス/.htpasswd
require valid-user
それぞれの意味は以下の通りです。
AuthType
「BASIC」と指定することでBASIC認証となります。
AuthName
ここで指定した文字列がBASIC認証時に表示されます。通常は英語で記述します。
AuthUserFile
BASIC認証するためのユーザー名とパスワードを明記した「.htpasswd」ファイルの場所です。
但し「.htpasswd」ファイルの場所はフルパスで記述する必要があるので、フルパスの情報がわからない場合は次の手順で調べることができます。
【フルパスの調べ方】
(1)テキストエディタなどに下記を記述します。
<?php
echo __FILE__;
?>
(2)「.htaccess」ファイルがある場所と同じ階層phpファイルで保存する。
例:「test.php」(testは任意の名前でOK)
(3)FTPなどでフルパスを知りたいサイトにアップロードする。
(4)アップデートしたサイトのURL末尾に、/test.phpと入力してブラウザで確認する。
ブラウザに「●●●●●/test.php」のようにフルパスが表示されるので、test.phpの前までの「●●●●●」の部分を「.htaccess」のフルパスに記述すれば完了です。
require
「valid-user」と指定すると、全てのユーザーにBASIC認証をかけます。
2.「.htpasswd」を作成する。
次に、BASIC認証するためのIDとパスワードを「.htpasswd」というファイルに記述していきます。
但しパスワードは暗号化して指定する必要があるので、任意のユーザー名とパスワードを決めたら、ブラウザで「Basic認証の暗号化」などと検索して、パスワードを暗号化して用意しましょう。
【例】
ユーザー名:test
暗号化したパスワード:〇●〇●〇
「.htpasswd」ファイルをテキストエディタなどで作成して、下記の記述を行います。
.htpasswd
test: 〇●〇●〇
シンプルに「ユーザー名:暗号化したパスワード」と記述すればOKです!
また、改行して上記同様に記述することで、複数のユーザー名とパスワードを設定できます。
記述できたら、「.htaccess」のAuthUserFileで指定した場所に保存ることで「.htpasswd」の設定は完了です。
3.サーバーにアップする。
「.htaccess」と「.htpasswd」2つのファイルをアップします。
アップしたブラウザでベーシック認証のポップアップが表示されれば、設定完了です。
いかがでしたでしょうか?
Basic認証とはなんなのか、どうやって設定するのか理解いただけると幸いです。
使う機会があれば是非とも設定してみてくださいね。