ベーシック認証をかけてみようと思ってチャレンジしてみましたが、パスワードを作るのは親切なサイトがあって、すぐに対応することが出来ました。
「ベーシック認証とは」のような「とは論」は、あっちこっちにたくさん出ているのでそちらを参考にしてください。
結論を言うと、「.htaccess」「.htpasswd」の二つのファイルを、認証をかけようとするディレクトリに置くことでIDとパスワードが整合しないとログインできなくするという「HTTP」の基本機能だそうですが、それ以上に細かな原理や原則については詳しいことは分かりません。
このサイトでパスワードを作ることができます。
「.htpasswd」ファイルにIDとパスワードを「:」コロンでつないで記述します。
ここまではとても簡単です。
ベーシック認証をかけようとするフォルダをどこに作るかですが、X-Serverの場合だとルートの直下にあるドメイン名の下にある「public_html」フォルダの中にサブフォルダを作るのが良さそうです。
今回の例としてはサブフォルダの名前を「video」にしてみます。
IDは「video」、パスワードは「kourinji」で「.htpasswd」を作ってみました。
問題は「.htaccess」のほうで、いくつかベーシック認証を説明している記事を参考にしてみましたが、記述内容はほぼ、同じで「/home/」に続けてドメイン名とフォルダ名を書いて「/.htaccess」とするようにしか書かれていない記事が多かったです。
1 2 3 4 |
AuthType Basic AuthName "Input your ID and Password." AuthUserFile /home/ドメイン名/フォルダ名/.htpasswd require valid-user |
ところが、何個目かの記事に「認証をかけたいディレクトリのフルパスを調べる」と書かれていたのでさっそく試して見ました。
PHPファイルを作ってブラウザから呼び出すと「フルパス」がゲットできるのだそうです。
1 2 3 |
<?php echo __FILE__; ?> |
この3行のPHPファイルを、フルパスを調べたいディレクトリに入れてブラウザから呼び出してみます。
そうすると、真っ白な画面にフルパスが表示されますので、それをコピーして「.htaccess」にペーストします。
1 2 3 4 5 6 7 8 |
AuthUserFile "/home/-ここにフルパスを書く-/public_html/video/.htpasswd" AuthGroupFile /dev/null AuthName "Input ID and Password." AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> |
このようにユーザー名とパスワードを聞いてきましたので、成功です!
phpのファイルは訳をが終わったら削除するようにとのことです。