|
DBM ソスヨのアソスNソスZソスX |
- DataBase Management(DBM)ソスヘ、ソスAソスzソスzソスソスノ鯉ソスソスソスソスソスソストソスソスソスソス_ソスソスソスノアソスNソスZソスXソスツ能ソスネフソス@ソスCソスソスソスVソスXソスeソスソスソスナ、
ソスAソスzソスzソスソスフキソス[ソスノアソスNソスZソスXソスソスソス驍セソスソスソスナ、ソスソスソスRソス[ソスhソスフ追会ソスソスAソスマ更ソスソスソスツ能ソスノなゑソスワゑソスソスB
ソスソスソスソスソスソスソスLソス[ソスヘ茨ソスモで厄ソスソスソスソスソスホなゑソスワゑソスソスソスBソスdソスソスソスソスソスソスLソス[ソスヘ上書ソスソスソスソスソスソスワゑソスソスB
| DBM ソスフ托ソスソスソス |
|
- ソスtソス@ソスCソスソスソスフ作成ソスヘ擾ソスソスソスソスソスソスンソスソス[ソスhソスナオソス[ソスvソスソスソスソスソスワゑソスソスB
dbmopen(HASH, FILENAME, MODE);
|
|
HASHソスノは、ソスソスソスソスソスソスソスソスAソスzソスzソス名、FILENAMEソスヘ拡ソスソスソスqソスソスソスネ暦ソスソスソスソスソスソスソスソスフゑソスtソスソスソスワゑソスソスB
(ソスソスソス{ソスソスヘ使ソスpソスsソスソス)
Perlソスフバソス[ソスWソスソスソスソスソスノゑソスソスソスト異なゑソスワゑソスソスソスソスA.dbソスワゑソスソスヘ、.dirソスA.pagソスフ拡ソスソスソスqソスソスソスソスソスソスソスナ付ソスソスソスソスソスソスワゑソスソスB
MODEソスノは、ソスIソス[ソスvソスソスソスソスソスフソスソス[ソスhソスナ、ソスヌみ搾ソスソスン撰ソスpソスネゑソスu0644ソスvソスAソスヌみ擾ソスソスソスソスソスソスソス鼾ソスヘ、ソスu0666ソスvソスソスソスwソス閧オソスワゑソスソスB
ソスtソス@ソスCソスソスソスソスソス成ソスソスソスソス鼾ソスヘ、ソスヌみ擾ソスソスソスソスソスソス[ソスhソスナ厄ソスソスソスソスソスホなゑソスワゑソスソスソスB
ソスヌみ搾ソスソスン撰ソスpソスナ托ソスソスンゑソスソスネゑソスFILENAMEソスソスソスwソス閧オソストゑソスソスtソス@ソスCソスソスソスヘ作成ソスソスソスソスワゑソスソスソスB
- ソスNソスソスソス[ソスY
DBMソスtソス@ソスCソスソスソスフクソスソスソス[ソスYソスノゑソスdbmcloseソスソスソスgソスpソスソスソスワゑソスソスB
ソスソスソスフ暦ソスヘデソス[ソス^ソスxソス[ソスXpagecntソスソスソス成ソスソスソストペソス[ソスWソスフカソスEソスソスソスgソスソスロ托ソスソスソスソストゑソスソスワゑソスソスB
dbmopen(%DBM, 'pagecnt', 0666);
$DBM{$QUERY{'page'}}++;
dbmclose(%DBM);
|
|
ソスソスソスフ暦ソスナゑソスCGIソスニ難ソスソスソスソスfソスBソスソスソスNソスgソスソスソスソスpagecnt.dbソスワゑソスソスヘ、pagecnt.dirソスApagecnt.pagソスソスソス成ソスソスソスソスA
ソスyソス[ソスWソスフ厄ソスソスフと最擾ソスソスフカソスEソスソスソスg1ソスソスソスソスソスソスソスワゑソストゑソスソスワゑソスソスB
ソスハ擾ソスApagecnt.dirソスApagecnt.pagソスソスソス成ソスソスソスソスソステゑソスDBMソスVソスXソスeソスソスソスナは、ソスソスxソスソス1ソスツゑソスDBMソスソスソスソスソスIソス[ソスvソスソスソスナゑソスソスワゑソスソスソスB
ソスソスソスソスソスソスDBMソスナソスソスソスソス[ソスVソスソスソスソスソスソスソスsソスソスソス鼾ソスヘ、ソスソスソスフ都ソスxソスツゑソスソスネゑソスソスソスホなゑソスワゑソスソスソスB
- ソスソスソスRソス[ソスhソスフ削除
DBMソスfソス[ソス^ソスxソス[ソスXソスソスソス辜鯉ソスRソス[ソスhソスソスソス除ソスソスソスソスノゑソスdeleteソスソスソスgソスpソスソスソスワゑソスソスB
ソスunews.htmlソスvソスyソス[ソスWソスフカソスEソスソスソスgソスソスソス除ソスソスソスソスノは、delete($DBM{'news.html'}); ソスニゑソスソスワゑソスソスB
ソス{ソスソスdeleteソスヘ、ソスAソスzソスzソスソスソスソス除ソスソスソス髟ィソスナゑソスソスソスソスADBMソスノ鯉ソスソスソスソスソスソスソストゑソスソスソスAソスzソスzソスソスソスソス除ソスソスソスソスニ、
ソスソスソスソスソスノデソス[ソス^ソスxソス[ソスXソスソスソスソスソスソス除ソスソスソスソスワゑソスソスB
- ソスソスソスRソス[ソスhソスフ托ソスソスンを調べゑソス
ソスwソス閧オソスソスソスLソス[ソスフソスソスRソス[ソスhソスソスソスソスソスロに托ソスソスンゑソスソス驍ゥソスソスソスラゑソスノゑソスdefinedソスソスソスgソスソスソスワゑソスソスB
ソスunews.htmlソスvソスyソス[ソスWソスフカソスEソスソスソスgソスソスソスソスソスンゑソスソス驍ゥソス調べゑソスノは、
defined($DBM{'news.html'}) && print "ソスソスソスンゑソスソスワゑソスソスB";
ソスニゑソスソスワゑソスソスB
|
| ソスyソス[ソスWソスJソスEソスソスソス^ソスフ作成 |
|
- ソスソスソスソスナは、ソスソスソスロに使ソスpソスツ能ソスネペソス[ソスWソスJソスEソスソスソス^ソスソスソス成ソスソスソストみまゑソスソス蛯、ソスB
ソスニりあソスソスソスソスソスAソスソスソスフ機ソス\ソスソスソスソスソスソスソスソスソス骼厄ソスノゑソスソスワゑソスソスB
- ソスソスソスラてのペソス[ソスWソスフ累計ソスソスソスJソスEソスソスソスgソスソスソスソスソスソス
- ソスJソスEソスソスソス^ソスヘ各ソスyソス[ソスWソスノ表ソスソスソスソスソスネゑソス
- ソスeソスyソス[ソスWソスフカソスEソスソスソスgソスソスソスヘ監暦ソスソスメソスソス[ソスhソスナ閲ソスソスソスソスソスソス
- ソスソスソスソスソスン定部
#!/usr/local/bin/perl
require '../cgi-lib/perl-lib.pl';
|
|
PerlソスフパソスXソスニ、ソスソスソス@ソス\ソスソスソスCソスuソスソスソスソスperl-lib.plソスフパソスXソスソスソスwソス閧オソスワゑソスソスB
# ソスTソスCソスgソスソスURL
# http://ソスyソスム、ソスtソス@ソスCソスソスソスソス(index.htmlソスソス)ソスヘ省暦ソス
# ソスyソスソスzwww.inforyoma.or.jp/~terra
$usersite = 'www.tryhp.net';
|
|
ソスgソスbソスvソスyソス[ソスWソスソスURLソスソスン定しソスワゑソスソスBソスソスソスフ趣ソスhttp://ソスソスAindex.htmlソスソスソスフフソス@ソスCソスソスソスソスソスヘ省暦ソスソスソスソスワゑソスソスB
# ソス_ソス~ソス[ソス鞫懶ソスフフソス@ソスCソスソスソスpソスX
$image = '../images/exspc.gif';
# ソスJソスEソスソスソスgソスソスロ托ソスソスソスソスソスfソス[ソス^ソスxソス[ソスX
# DBMソスナゑソスソスフで拡ソスソスソスqソスヘ指ソス閧オソスネゑソス
$dbmfile = 'pagecnt';
|
|
ソスJソスEソスソスソスgソスヘ表ソスソスソスソスソスワゑソスソスが、CGIソスヘ会ソスソスソスソスソスヤゑソスソスKソスvソスソスソスLソスソスワゑソスソスフで、ソスソスソスソスソスフ擾ソスソスソスソスネ画像ソスソスン定しソストゑソスソスソスソスワゑソスソスB
DBMソスフフソス@ソスCソスソスソスソスソスヘ拡ソスソスソスqソスソスソスネ暦ソスソスソスソスネゑソスソスソスホなゑソスワゑソスソスソスB
- ソスソスソスCソスソスソスソスソス[ソス`ソスソス
readparts('QUERY', '<>', '');
if ($QUERY{'page'}) {
# ソスyソス[ソスWソスソスソスwソス閧ウソスソストゑソスソスソス鼾ソスノゑソスソスソスソスLソス^
# perl-libソスフソスソスbソスNソスノ撰ソスソスソスソスソスソスソスホ擾ソスソスソスソスソスソスソス
# ソスソスソスsソスソスソスソスソスDBMソスソスソスソスソスラゑソスソスフアソスNソスZソスXソス無趣ソス
if (!dblock($dbmfile)) {
# ソスAソスzソスzソスソス%DBMソスソスソスtソス@ソスCソスソスソスノ鯉ソスソスソスソスソスソストオソス[ソスvソスソス
dbmopen(%DBM, $dbmfile, 0666);
# ソスyソス[ソスWソスソスソスフカソスEソスソスソスgソスソス1ソスvソスソスソスXソスソスソスト保托ソス
$DBM{$QUERY{'page'}}++;
# DBMソスソスツゑソスソスソス
dbmclose(%DBM);
# ソスソスソスbソスNソスソスソスソスソスソス
dbunlock($dbmfile);
}
}
|
|
ソスソスソスソスソスソスソスAソスソスソスフスソスNソスソスソスvソスgソスフ心ソスソスソスソスソスナ、DBMソスヨのアソスNソスZソスXソスナゑソスソスB
ソスナ鯉ソスノダソス~ソス[ソスフ画像ソスソスソスoソスヘゑソスソスワゑソスソスB
print "Content-type: image/gif\n\n";
open(IMG,"cgi-images/exspc.gif");
binmode(IMG);
binmode(STDOUT);
print $_ while (<IMG>);
close(IMG);
exit;
|
|
ソスソスソスソスソスワででペソス[ソスWソスソスソスソスフアソスNソスZソスXソスソスソスLソスソスソスDBMソスfソス[ソス^ソスxソス[ソスXソスノ記ソス^ソスソスソスソスワゑソスソスB
ソス皷橸ソスソスソスソスソスワでのスソスNソスソスソスvソスgソスソスpagecnt.cgiソスニゑソスソスト保托ソスソスソスソストゑソスソスソスソスワゑソスソスB
|
| ソスeソスyソス[ソスWソスヨのタソスOソスフ追会ソス |
|
- ソスニりあソスソスソスソスソスAソスJソスEソスソスソス^ソスフ擾ソスソスソスソスソスソスンまでは作成ソスナゑソスソスワゑソスソスソスソスフで、
ソスソスソスソスCGIソスソスソストび出ソスソスソス^ソスOソスソスソスソスソスラてのペソス[ソスWソスノ抵ソスソスソスtソスソスソスソスKソスvソスソスソスLソスソスワゑソスソスB
<img src=pgcnt.cgi?page=ソスtソス@ソスCソスソスソスソス>
|
|
ソスソスソスフタソスOソスソスソスソスソスラてのペソス[ソスWソスソス<BODY>ソスソスソスソス</BODY>ソスフ間なゑソスヌゑソスソスナゑソスソスソスソス\ソスナゑソスソスフで挿ソスソスソスソスソスワゑソスソスB
ソスソスソスソスヘ難ソスソス{ソスソスノ対会ソスソスソスソストゑソスソスワゑソスソスソスフで、ソスuソスtソス@ソスCソスソスソスソスソスvソスノはタソスOソスソスヌ会ソスソスソスソスソスyソス[ソスWソスフフソス@ソスCソスソスソスフパソスXソスソスソスwソス閧オソストゑソスソスソスソスソスソスソスソスB
$usersiteソスソスソス準ソスノゑソスソスソスソスpソスXソスナゑソスソスフで、index.htmlソスニ難ソスソスソスソスKソスwソスノ有ソスソスnews.htmlソスフ場合ソスソス
<img src=pagecnt.cgi?page=news.html>
ソスニなゑソスA1ソスツ会ソスソスフデソスBソスソスソスNソスgソスソス[friend]ソスソスnews.htmlソスネゑソス
<img src=pagecnt.cgi?page=friend/news.html>
ソスニ設定しソスワゑソスソスB
|
| ソスト暦ソスソスメ閲ソスソスソスソスソス[ソスhソスフ趣ソスソスソス |
|
- ソスソスソスソスソスン抵ソスノ監暦ソスソスメパソスXソスソスソス[ソスhソスソスヌ会ソス
ソス皷橸ソスAソスJソスEソスソスソス^ソスフ閲ソスソスソスヘ監暦ソスソスメ撰ソスpソスナゑソスソスフで、CGIソスノパソスXソスソスソス[ソスhソスソスン定しソスワゑソスソスB
# ソスト暦ソスソスメパソスXソスソスソス[ソスh
$root = 'abcd1234';
|
|
ソスソスソスCソスソスソスソスソス[ソス`ソスソスソスフ前ソスナゑソスソスソスホどゑソスソスナゑソスソスソスソス\ソスナゑソスソスフでパソスXソスソスソス[ソスhソスソスン定しソスワゑソスソスB
- ソス齬暦ソス\ソスフ表ソスソス
readparts('QUERY', '<>', '');
if ($QUERY{'pw'} eq $root) {
print "Content-type: text/html\n\n";
print "
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=shift_jis'>
<meta http-equiv='Content-Language' content='ja'>
<title>ソスyソス[ソスWソスJソスEソスソスソス^ソスAソスNソスZソスXソスソスソスO</title>
</head>
<body>
";
# ソスJソスEソスソスソス^DBMソスソスソスIソス[ソスvソスソス
# ソスヌみ搾ソスソスン撰ソスpソスネのゑソス0644ソスナアソスNソスZソスX
dbmopen(%DBM, $dbmfile, 0644);
# ソスyソス[ソスWソスフ撰ソスソスソスソスソスソスソスソス[ソスvソスソスソストデソス[ソス^ソスソスヌ搾ソスソスソス
foreach $key (keys %DBM) {
$count = $DBM{$key};
# ソスナ托ソスlソスソスソス謫セ
$max < $count && ($max = $count);
# ソスソスソスム替ゑソスソスフ為カソスEソスソスソスgソスソスソスソス0ソスソスソスTソスvソスソスソスXソスソスソスネゑソス
# 8ソスソスソスフ撰ソスソスソスソスノ難ソスソス黷キソスソス
$count = sprintf("%08d", $count);
# ソスソスソスソスソス整ゑソスソスト配ソスソス@ACCESSソスノ托ソスソス
$value = "$count\t$key";
push(@ACCESS, $value);
}
# DBMソスソスソスNソスソスソス[ソスY
dbmclose(%DBM);
# ソスAソスNソスZソスXソスフ托ソスソスソスソスソスソスノ包ソスソスム替ゑソス
@ACCESS = reverse(sort(@ACCESS));
print "<table border=0 cellpadding=0><tr><td bgcolor=#708090>\n";
print "<table border=0 cellspacing=1 cellpadding=4 style='FONT-SIZE:12px'>\n";
print "<tr>
<td bgcolor=#C0C0F0 align=center>ソスyソス[ソスW</td>
<td bgcolor=#C0C0F0 align=center>ソスJソスEソスソスソスg</td>
<td bgcolor=#C0C0F0 align=center>ソスOソスソスソスt</td>
<td bgcolor=#C0C0F0 align=center>ソス|ソスCソスソスソスg</td>
</tr>\n";
foreach (@ACCESS) {
($count, $page) = split(/\t/, $_);
$count += 0;
print "<tr>";
print "<td bgcolor=#FFFFFF>$page</td>\n";
print "<td bgcolor=#FFFFFF align=right>$count</td>\n";
if ($max) {
$point = sprintf("%3.1f", int($count / $max * 1000 + 0.5) / 10);
$barwidth = $point * 50 / 100;
print "<td bgcolor=#FFFFFF><font color=#FF8080><nobr>";
foreach (1 .. $barwidth) { print "ソスソス"; }
print "</nobr></font></td>\n";
print "<td bgcolor=#FFFFFF align=right>$point</td>\n";
} else {
print "<td bgcolor=#FFFFFF></td>\n";
print "<td bgcolor=#FFFFFF></td>\n";
}
print "</tr>\n";
}
print "</table>\n";
print "</td></tr></table>\n";
print "</body></html>\n";
exit;
}
|
|
ソスソスソスソスナ奇ソスソスソスソスナゑソスソスBソスソスソスフ暦ソスナは監暦ソスソスメパソスXソスソスソス[ソスhソスソス[abcd1234]ソスソスン定しソスワゑソスソスソスソスフで、
CGIソスソスURLソスフ鯉ソスソスソス?pw=abcd1234ソスソスtソスソスソストアソスNソスZソスXソスソスソスソスソス鼾ソスフみアソスNソスZソスXソスソスソスOソスソスソス\ソスソスソスソスソスソスワゑソスソスB
ソスyソス[ソスW |
ソスJソスEソスソスソスg |
ソスOソスソスソスt |
ソス|ソスCソスソスソスg |
DBM.htm |
6 |
ソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソス |
100.0 |
local.htm |
4 |
ソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソス |
66.7 |
perl.htm |
3 |
ソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスソス |
50.0 |
|
ソスソスソスソスソスiソスソスソスTソスソスソスvソスソスソスXソスNソスソスソスvソスgソスヘゑソスソスソスソスソスB
ソスTソスソスソスvソスソスソスソスソスuソスソスソスEソスUソスノ表ソスソスソスソスソス黷スソス鼾ソスヘ「ソス\ソス[ソスXソスvソスソス\ソスソスソスソスソスAソスtソス@ソスCソスソスソスソスソスソスソスupagecnt.cgiソスvソスノ変更ソスソスソスト保托ソスソスソスソストゑソスソスソスソスソスソスソスソスB
ソスワゑソスソスヘ、ソスソスLソスソスソスソスソスNソスソスソスEソスNソスソスソスbソスNソスソスソスト、ソスuソスホ象ゑソスソスtソス@ソスCソスソスソスノ保托ソスソスvソスソスIソスソスソスソスソスAソスtソス@ソスCソスソスソスソスソスソスソスupagecnt.cgiソスvソスノ変更ソスソスソスト保托ソスソスソスソスワゑソスソスB
|
|
|
|