#!/usr/local/bin/perl #┌───────────────────────────────── #│ DREAM COUNTER MANAGER v3.32 (2003/01/24) #│ Copyright(C) Kent Web 2003 #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── $ver= 'Dream Manager v3.32'; #┌───────────────────────────────── #│ [注意事項] #│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した #│ いかなる損害に対して作者は一切の責任を負いません。 #│ 2. 設置に関する質問はサポート掲示板にお願いいたします。 #│ 直接メールによる質問は一切お受けいたしておりません。 #└───────────────────────────────── # IIS対策 if ($ENV{'SERVER_SOFTWARE'} =~ /IIS/i) { local($chdir) = $0; $chdir =~ s/[^\\]*$//; chdir($chdir); } #============# # 設定項目 # #============# # ●の個所の「***_co_jp」の部分をお客様用に修正してください。 # 「***.com」の場合は「***_com」となります。 # ●設定ファイル取込 require 'D:\\users\\angelic-fs_com\\cgi-bin\\dream\\drinit.cgi'; # スクリプト名 $script = 'drmgr.cgi'; #============# # 設定完了 # #============# #----------------------- これより処理開始 -----------------------# #この行以下を書き換えられた場合、サポートの対象外となりますのでご注意下さい# &decode; &header; if ($in{'pass'} eq '') { print <<"EOM";

パスワードを入力して下さい




Copyright (C) Kent Web 2002
$ver
EOM exit; } # 認証 &error('パスワードが違います') if ($in{'pass'} ne $pass); # ログチェック @file = &datadir; # 新規作成 if ($mode eq 'new' && $in{'id'}) { # 入力チェック if ($in{'id'} =~ /[^A-Za-z0-9]/) { &error("使用できる文字は英数字のみです"); } if ($in{'count'} =~ /\D/) { &error("開始カウント数は数字のみで指定して下さい"); } $flag=0; foreach (@file) { if ($_ eq "$in{'id'}\.dat") { $flag=1; last; } } if ($flag) { &error("$in{'id'} は既に存在するID名です"); } # 作成 open(OUT,">$datadir$in{'id'}\.dat") || &error("Write Error : $in{'id'}\.dat"); print OUT $in{'count'}; close(OUT); chmod(0666, "$datadir$in{'id'}\.dat"); unshift(@file,"$in{'id'}\.dat"); } # ログメンテ画面 elsif ($mode eq 'mente' && $in{'id'}) { # ロック開始 if ($lockkey) { $lockfile = "$lockdir$in{'id'}\.lock"; &lock; } open(IN,"$datadir$in{'id'}\.dat") || &error("Open Error : $in{'id'}\.dat"); local($log) = ; close(IN); ($count, $ip) = split(/:/, $log); # ロック解除 &unlock if ($lockkey); print "
\n"; print "\n"; print "\n"; print "\n"; print "ID名 : $in{'id'}
\n"; print "カウント数 :
\n"; print "\n"; print "\n\n"; exit; } # ログメンテ実行 elsif ($mode eq 'mente2' && $in{'id'}) { if ($in{'count'} =~ /\D/) { &error("開始カウント数は数字のみで指定して下さい"); } # ロック開始 if ($lockkey) { $lockfile = "$lockdir$in{'id'}\.lock"; &lock; } open(IN,"$datadir$in{'id'}\.dat") || &error("Open Error : $in{'id'}\.dat"); local($log) = ; close(IN); ($count, $ip) = split(/:/, $log); open(OUT,">$datadir$in{'id'}\.dat") || &error("Write Error : $in{'id'}\.dat"); print OUT "$in{'count'}\:$ip"; close(OUT); # ロック解除 &unlock if ($lockkey); } # ログ削除 elsif ($mode eq 'del' && $in{'id'}) { # ロック開始 if ($lockkey) { $lockfile = "$lockdir$in{'id'}\.lock"; &lock; } unlink("$datadir$in{'id'}\.dat") || &error("Delete Error : $in{'id'}\.dat"); @file = &datadir; # ロック解除 &unlock if ($lockkey); } print <<"EOM";

管理画面


1. 新規ログ作成

ログID名 (英数字でIDを指定)
カウント開始数

2. ログメンテ

EOM foreach (@file) { s/\.dat$//; print "
$_\n"; } # 著作権表示(削除改変禁止) print "
\n
\n
\n"; print "Copyright (C) Kent Web 2002
\n"; print "$ver
\n\n\n"; exit; #--------------# # エラー処理 # #--------------# sub error { &unlock if ($lockflag); print "

ERROR !

\n"; print "$_[0]\n"; print "\n\n"; exit; } __END__