.htaccessを使ってサイトにBasic認証(パスワード)をかける方法

.htaccessを使ってサイトにBasic認証(パスワード)をかける方法

.htaccessを使ってサイトにBasic認証(パスワード)をかける方法

サイトにパスワード認証をかける方法をご紹介いたします。.htaccessを使ったBasic認証をかける方法で、一時的にサイトにロックをかけることができます。

.htaccessを使ってサイトにBasic認証(パスワード)をかける方法

.htaccessの作成

まずは、.htaccessを作成します。先頭にドットがついたファイルが作成できない場合は、htaccess.txtなどで保存しておき、サーバーにアップしてからリネームしてください。

.htaccessの中身は以下のように記述します。


AuthType Basic
AuthName "表示メッセージ(半角英数字のみ)"
AuthUserFile "パスワードファイルのフルパス"
require valid-user

パスワードファイルは後ほど作成します。

例えば、「/home/example/www/htpasswd/.htpasswd」にパスワードファイルを作成した場合は、以下のように記述します。


AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /home/example/www/htpasswd/.htpasswd
require valid-user

サーバーのフルパスがわからない場合は、サーバー会社に問い合わせるか、以下コードが記述されたPHPファイルを調べたいディレクトリに設置してアクセスすることで確認できます。


<?php
echo __FILE__;
?>

.htaccessを作成したら、ルートディレクトリにアップロードしてください。サイト全体にBasic認証をかけることができます。

一部のディレクトリのみにBasic認証をかけたい場合は、対象のディレクトリに.htaccessをアップしてください。特定のページのみにBasic認証をかけたい場合は、以下のようにFilesでページを指定してあげます。


AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /home/example/www/htpasswd/.htpasswd
<Files example.html>
require valid-user
</Files>

上記の場合、example.htmlにのみBasic認証がかけられます。

サーバーにアップした.htaccessのパーミッションは「604」に変更しておきましょう。

.htpasswdの作成

ユーザー名とパスワードが記述された.htpasswdというファイルを準備します。.htpasswdの中身は、「ユーザー名:暗号化されたパスワード」という書き方をします。

BASIC認証用 パスワード暗号化」というツールを使うと、簡単にパスワードを暗号化できます。

パスワード暗号化

ユーザー名とパスワードを入力して[パスワード暗号化]をクリックすると、以下のように暗号化されたパスワードを表示してくれます。

user:X3ebVz1FFcmLc

ユーザー名とパスワードを必要な分だけ.htpasswdに記述したら、サーバーにアップロードします。アップする場所は、上述した例の場合は「/home/example/www/htpasswd」フォルダ内ですね。

.htaccessと同様に、.htpasswdのパーミッションも「604」に変更します。

.htaccessと.htpasswdが設置できたら、サイトにアクセスしてみましょう。以下のような認証画面が表示され、ユーザー名とパスワードを入力することでサイトを閲覧できます。

Basic認証

あとがき

制作中・オープン前のサイトでBasic認証をかけておけば、特定の人だけが閲覧できるようになります。

一時的にサイトにロックをかけておきたい場合は、ぜひ参考にしてください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です