いつもの記事と同じように、若い外注さんに「ベーシック認証ってなんですか?」といったような事も多くなってきたので、改めてまとめてみました。
※今回はレンタルサーバーなどでよくおこなわれる入れ方を紹介いたします。
IDとパスワードを作る
自分で暗号化する方法などもありますが、今回は取り急ぎ簡単な、WEB上のツールを使用してIDパスワードを作成していきます。
下記サイトアクセスをし、IDとPasswordに入力をして生成をおします。
https://www.luft.co.jp/cgi/htpasswd.php
ページを少しスクロールすると.htpasswd:というところにIDと暗号化されたパスワードが生成されていますので、コピーをしてテキストエディタに貼り付けをし、「.htpasswd」という名前を付けて保存をします。
※ドットが先頭で名前が付けられない場合は、取り急ぎ「a.htpasswd」などでも大丈夫です。
これでIDとパスワードの準備はできました。
基本的にはサイトのルートディレクトリにアップロードして使用されることが多いと思います。
※「a.htpasswd」で作成した方はアップロードした際にFTP上で名前の変更をし、「.htpasswd」にすれば問題ありません。
複数のIDパスワードを使用したい時
test:JPwKnbcDs6orA
example:Lmp9Tk3EkAGo6
2行目以降に追加していくだけで大丈夫です。
htaccessの準備
AuthType Basic
AuthName "Input your ID and Password."
AuthUserFile /フルパス/.htpasswd
require valid-user
基本的に上記記述をしてベーシック認証のディレクトリにアップロードをすれば、ベーシック認証がかかります。
フルパスの部分には「.htpasswd」がおいてあるフルパスを記載すれば大丈夫です。
ファイル名については.htpasswd同様、頭がドットで名前を付けられなかった場合はFTP上で名前の変更をすれば問題ありません。
フルパスを調べる
<?php
//フルパス
echo __FILE__ . '<br />';
?>
上記記述をしたPHPのファイルを用意し、.htpasswdと同じディレクトリにアップロードをします。
そのファイルにブラウザからアクセスをすると、例「/var/www/html/virtual/example.com/」のようなサーバー内でのパスが表示されます。
それをhtaccessに貼り付ければhtpasswdと紐づける事が出来ます。
※フルパスの取得方法は下記記事でも紹介しています。
https://t3l.org/web/dirname-file-php/
まとめ
ベーシック認証をかけているとインデックスされません、クライアントから、IDパスワードをつけたいけど予算が取れないと言われた時などにセキュリティ的にはオススメしませんが臨時としてベーシック認証をかけてあげてもいいかもしれません。
また、開発環境などに入れておくことで、クライアントからの信頼度も上がります。
簡単なのに、色々な用途に使用できますので、是非ご自身に合った環境などでしようしてみてください。