#!/usr/local/bin/perl # ###################################################################### ### ### ### CGI+JS逆リンク探知 T-Revlink Ver.2.01 ### [2/2] 表示 (trlshow.cgi) ### (c) 1996-2005 Takahiro Nishida ### http://www.mytools.net/ ### ### ###################################################################### # ### 変数設定部 (詳細は上記ページをご覧下さい) ###################### $basedir = "."; $backurl = "http://your.homepage/"; $code = "sjis"; ### 変数設定部 (ここまで)########################################### require "./jcode.pl"; $verno = "2.01"; &main; sub main{ &check_input; &show_header; &show_db; &show_footer; } ##### 入力チェック sub check_input{ $buffer = $ENV{'QUERY_STRING'}; if($buffer =~ /=/){ @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($vn, $value) = split(/=/, $pair); $F{$vn} .= $value; } $dbno = $F{'n'}; $sort = $F{'s'}; $search = $F{'k'}; } else{ ($dbno, $sort, $search) = split("-", $ENV{'QUERY_STRING'}); } $dbno = &decode($dbno); $sort = &decode($sort); $search = &decode($search); ($dbno) || ($dbno = 1); ($sort) || ($sort = "h"); } ##### ヘッダ sub show_header{ print "Content-type: text/html\n\n"; print "
";
print "数字画像の意味:
0->成功. 1->ロック中. 2->DB番号が指定されていない.3->URLが取得できない. 4->URLが例外にひっかかった. 5->一時ファイルが作成できない. 6->DBファイルが開けない. 7->その番号のDBは存在しない.
\n";
}
##### DBの中身を表示
sub show_db{
unless(-f "$basedir/link-$dbno.dbf"){
print "DB番号 $dbno は登録されていない.";
return;
}
### ファイルを開く
unless(open(FILE, "$basedir/link-$dbno.dbf")){
print "DBファイルが開けない(No.$dbno)";
return;
}
### ハッシュに収める
foreach( \n";
}
$idx = " \n";
for(sort sortbyhits keys %DB){
($_ =~ /%/) ? ($url = &decode($_)) : ($url = $_);
(!$search) || ($url =~ /$search/) || next;
$LT{$_} =~ s/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/$1\/$2\/$3\ $4:$5:$6/;
print " \n";
for(sort sortbytime keys %DB){
($_ =~ /%/) ? ($url = &decode($_)) : ($url = $_);
(!$search) || ($url =~ /$search/) || next;
$LT{$_} =~ s/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/$1\/$2\/$3\ $4:$5:$6/;
print "
[ヒット数] [最終アクセス時刻 年月日時分秒] URL
\n";
sub sortbyhits{ $DB{$b}<=>$DB{$a}; }
sub sortbytime{ $LT{$b}<=>$LT{$a}; }
if($sort eq "h"){
print "順番=ヒット数$kwd\n";
print "$idx
\n";
}
}
elsif($sort eq "t"){
print "順番=最終アクセス時刻$kwd\n";
print "$idx
\n";
}
}
}
##### フッタ
sub show_footer{
print "