ホームページのユーザー認証 2000.8.26

■はじめに

 この前、友達に「ホームページでIDとパスワード入れて見るようにするやつはどうするの」)と聞かれ、概要を伝えたんですが、以前にも知り合いに聞いたことがあります。自分のLinuxサーバーでもできるはずだよな〜と言うことでやってみました。通常は次の様な画面が表示され、IDとパスワードを入力します。
 ユーザー認証というか、IDとパスワードが知らない人のデータ参照を制限する方法は幾つか在るようですが、今回はWEBサーバーの認証機能を使う方法です。
 参考にしたのは、知人からいただいたメールとその中の説明にあったパスワード管理のフリーCGIのあったホームページの解説です。

■やってみる

□ファイルの構成を考える

 LANを組んでいるLinuxサーバーの以下のURLでユーザー認証を設定します。有名なホームぺー「ネットサーフレスキュー【Web裏技】」にあるフリーCGIの「パスワードアクセス制限管理 htpwd」をダウンロードしその説明ファイル「readme.txt」を読んで以下のようにファイルを設定しました。
なお「www.lan.iscb.net」はインターネット上には存在しませんのでご注意下さい。

  • ユーザー認証を設定(パスワード)するディレクトリ(フォルダ) http://www.lan.iscb.net/~stone/ninsyo/
    Linuxサーバーでは、「/home/stone/public_html/ninsyo」となります。

  • パスワードを保存して置くディレクトリ
    Linuxサーバー上では、/home/stone/public_html/passtest
  • フリーCGIを格納するディレクトリ
    Linuxサーバー上では、/home/stone/public_html/paskanri
    ここへ、ダウンロードしたCGIプログラムを格納します。

必要なファイルを適切な位置にコピーしたら、ファイルの属性も正しく設定してください。

□Aapcheの設定ファイルを確認

/etc/httpd/conf/access.conf
<Directory "home/*/public_html"> Options ExecCGI AllowOverride None </Directory>
でAllowOverrideのNoneを Allに変更しています。


□フリーCGIでパスワードを管理

CGIでパスワードとマスターキーを登録するファイルの位置を 初期設定を変更している為に、
$USER = "../passtest/user.cgi";
$MASTER = "../passtest/admin.cgi";
と変更しています。
URLを
http://www.lan.iscb.net/~stone/paskanri/index.html
と入力し、CGI「パスワードアクセス制限管理 htpwd」を動作させました。そしてマスターキーを設定し、認証に使うIDとパスワードを設定しました。

http://www.lan.iscb.net/~stone/ninsyo/.htaccess
AuthUserFile     /home/stone/public_html/passtest/user.cgi
AuthGroupFile    /dev/null
AuthName         "この内容がパスワード入力画面に表示されます"
AuthType         Basic
<Limit POST GET PUT>
require valid-user
</Limit>

http://www.lan.iscb.net/~stone/ninsyo/index.htmlの内容

<HTML>
<HEAD><TITLE>ユーザー認証のテスト</TITLE></HEAD>
<BODY>
<CENTER>
<font size=+2>ユーザー認証のテスト</font><BR>
<HR>
 このメッセージが表示されているならば、ユーザー認証で認証された事になると思います。
<HR>
[<A href="../index.html">戻る</A>]
</CENTER>
</BODY>
</HTML>

□動作の確認する


 ブラウザのアドレスに、「http://www.lan.iscb.net/~stone/ninsyo/ 」と入力します。以下のユーザー名に「□フリーCGIでパスワードを管理」で設定したIDをパスワードの欄にIDと対に設定したパスワードを入力します。

 正しい、IDとパスワードが入力されると「ユーザー認証のテスト」画面が表示されます。



■その他

 案外簡単でした。完璧と言うことは無いのでしょうがデータを少しでも安全にするにはどうしたら良いのでしょうか。その辺を再確認した方がいいのでしょうね。
by SmallBrother

  [TopPage] [New] [SB's Room] [Linux]