Apache1.3.9 + PHP3.0.12 アクセス制御 HTTPD Installation
Last modified : 1999/08/27


1.アクセス制御ファイルには、2種類あり「.htaccess」ファイルのみ使用する方法について説明します。
2.「httpd.conf」ファイル中のアクセス制御部分を無効にします。
3.「.htaccess」ファイルを作成し、アクセス制限をかけたいフォルダに置きます。
4.パスワードファイル「.htpasswd」を作成し、一般ユーザから見られない場所へ置きます。 5.社員全員のパスワードを一括で設定
  1. 社員全員の「ユーザ名、パスワード」ファイルをテキスト形式で用意します。
    ここでは、ファイル「id_all.txt」を「/usr/local/www/sysdata」へ置きます。

      tarou,xxxxx1
      hanako,xxxxx2
      saburou,xxxxx3
      ...

  2. 変換は、perlの「crypt」コマンドで行います。エディタで以下のようなスクリプトを作成します。
    ここでは、ファイル「id_convert.pl」を「/usr/local/www/systool」へ置きます。
    #!/usr/bin/perl   # ### perlの実体を指定します
    
    $file_id   = "/usr/local/www/sysdata/id_all.txt";   # ### オリジナル・ユーザ情報
    $file_pass = "/usr/local/www/sysdata/.htpasswd";    # ### ユーザ認証用
    $count_input = $count_output = $count_omit = 0;
    
    open(ID, "$file_id") || die "not board file";
    open(PASS, ">$file_pass") || die "not board file";
    while ($data_line = ) {
    	$count_input++;
    	chop($data_line);
    	$data_line =~ s/"//g;             # ### データ内の「"」を削除
    	@item = split(/,/,$data_line);    # ### データを「,」で分割
    	$plain_passwd = $item[1];
    
    	if($plain_passwd ne ""){
    		$crypt_passwd = crypt($plain_passwd,$plain_passwd);   # ### パスワードをcrypt化
    		print (PASS "$item[0]:$crypt_passwd\n");
    		$count_output++;
    	} else {
    		$count_omit++;
    	}
    }
    close(PASS);
    close(ID);
    
    print "INPUT :$count_input\n";
    print "OUTPUT:$count_output\n";
    print "OMIT  :$count_omit\n";
    
  3. perl実行します。件数が表示されれば成功です。

  4. ブラウザを使用し目的のURL(http://localhost/office/)をアクセスして下さい。
    「ユーザ名、パスワード」要求が表示されます。入力し、認証が上手くいけば成功です!
6.自動更新
7.参考