今日聞かれたこと
HTMLページをパスワードで保護するには
Javascriptによる実装
とても初歩的な機能。
- 技術の概要
認証ページと、隠しページを作成し、置いておく。認証ページに来たユーザを、パスワード入力させ、合っていれば隠しページに自動的に誘導するような作りにする。
- 長所
初心者が取り付くと思われるJavascriptで実装をするということ。実行可能かどうかは、ブラウザに依存しており、サービスプロバイダには依存していない。どのサービスプロバイダでも機能する。
- 短所
ブラウザに依存するため、マイナーな環境のユーザは実行できないことがある。また、情報の漏洩が起きやすい。また、ページの取得に制限をかけられるわけではないため、たまたまページのアドレスを知っていれば、認証ページを飛ばして、隠しページを見られる。ソースコードがユーザーに渡るのも漏洩の一。
Basic認証
使用できるサービスプロバイダは限られているが、とても初歩的で、漏洩のしにくい認証機能。
- 技術の概要
隠しページを置くディレクトリに、許可するユーザ名とパスワードの一覧を書いたテキストファイルを置いておく。訪問者は、ブラウザの機能で、ユーザ名とパスワードを入力するウインドウに、管理者が決めた値の組合せを入力する。パスワードが認証されると、隠しページにアクセスできる。
- 長所
漏洩しにくい。正確なユーザ名・パスワードを入力した訪問者だけが、隠しページにアクセスできる。たまたま隠しページのアドレスを知っていたからといって、見られることはない。
- 短所
管理しにくい。設定ファイルは管理者が書きかえるため、この方式で対応可能なのは、せいぜい数十名である。
CGI+設定ファイル
- 技術の概要
Perl言語またはPHP言語を用いて、認証ページを作成し、認証が通れば、部外者閲覧禁止のファイルから必要なところを引用して表示する。プログラミングの中身は、まずユーザ名とパスワードを入力するページを作成し、次にそれを受けて認証するかどうかのページを設ける。そこでは、管理人の決めたユーザ名とパスワードを、設定ファイルから照合する。これに通れば、部外者がアクセスできない場所にあるファイルの中から、必要な情報を表示する。
- 長所
サンプルが多数あるので、学習しやすい。
- 短所
プログラミングの手間がかかる。
CGI+SQL
上記の技術と基本は同じ。Perl言語またはPHP言語を用いる。
- 長所
ユーザが自由にユーザ名・パスワードを変更可能にできる技術であるということ。もちろん、許可したくなければ、管理者が管理してよい。
- 短所
プログラミングの手間がかかる。