エックスサーバー、さくらインターネット、ロリポップなどのレンタルサーバーでは
アクセス制限(basic認証)を比較的簡単に設定することができます。
が、アクセス制限の機能がついていないサーバーでアクセス制限をかけようとした場合
自分で「.htaccess」「.htpasswd」を作成してサーバーにアップロードしなければなりません。
アクセス制限(ベーシック認証)とは
文字通り、サイトへのアクセスを制限するための設定を指します。
よく使われているのは「basic認証」という方式です。
サイトにアクセスした時に、このようなウィンドウが現れたら、
そのサイトはbasic認証がかけられています。
▼Internet Explorerの場合
▼GoogleChromeの場合
▼Firefoxの場合
basic認証の設定手順
1.「htaccess」「htpasswd」の2つのファイルを作成する
まずは以下のサイトで「htaccess」ファイルを作成しました。
http://www.htaccesseditor.com/
上記リンク先にアクセスして、まずは「する」を選択。
次に「ベーシック認証」を開いて、STEP2のサイトパスを入力。
※ここではSTEP1の「htpasswdを作成」は省略。
サイトパスの調べ方は、ベーシック認証をかけたいディレクトリに
以下を記述したphpファイル(pass.php)をアップロードします。<?php echo __FILE__; ?>
そして、アップしたphpファイルにアクセスすると
サイトパスが表示されます。例えば、このブログにアクセス制限をかけるとすると、
ブログのトップページと同階層にpass.phpをアップロードして、
https://sakuranetbiz.com/wordpress/pass.php にアクセスします。すると、このようにブラウザにサイトパスが表示されました。
このサイトパスをコピーして、STEP2のサイトパス欄に貼り付けます。
ただし、末尾の「pass.php」の部分は「.htpasswd」に変更すること。
下に出力されたテキストをコピーします。
※「エラーページ」~「モバイルアクセス制限」も必要に応じて設定。省略可
新たにテキストファイルを作成して、貼り付け。
次に「htpasswd」ファイルを作りますが、
私は下記のサイトでパスワードの暗号化を行いました。
http://www.cityjp.com/cript/crpt.cgi
例えば、IDを「user」パスワードを「password」と設定する場合
(絶対にこのIDとpasswordは使わないでください)
ユーザーID欄に「user」、パスワード欄に「password」と入力して「パスワード発行」をクリック。
すると、下に4種類の暗号化されたパスワードが生成されます。
このうちの「MD5」をコピーして、新たにテキストファイルを作成して貼り付け。
※複数のID・パスワードを設定することも可能。
その場合、改行して1行ごとに暗号化したテキストを貼り付ける。
これで「.htaccess.txt」と「.htpasswd.txt」の2つのファイルができました。
2.「.htaccess.txt」と「.htpasswd.txt」をサーバーにアップロードして、
それぞれのファイル名を「.htaccess」と「.htpasswd」に変更する。
(アップロード後、末尾の「.txt」を削除)
ここまでできたら、アクセス制限をかけたいサイトにアクセスしてみて、
実際にIDパスワード入力ウィンドウが表示されるかどうか、
そして、IDとパスワードを入力したらきちんとサイトにアクセスできるかを確認。
注意事項
ベーシック認証でのアクセス制限はあくまで簡易的なものであり、
盗聴・改ざんが容易である。
なので、重要なデータの保護などには向いていない(使用するべきではない)。