#!/usr/bin/perl
$temp = $ENV{'QUERY_STRING'};
@pairs=split(/&/,$temp);
foreach $item(@pairs)
{
($key,$content)=split(/=/,$item,2);
$content=~tr/+/ /;
$content=~s/%(..)/pack("c",hex($1))/ge;
$content=~s/\t/ /g;
$fields{$key}=$content;
}
$database = "database.txt";
if ($fields{'a'} =~ /^log$/){
print "Content-type: text/html\n\n";
open (DATA, "<$database") || print "No database file: $!";
flock (DATA, 2);
@lines = ;
flock (DATA, 8);
close (DATA);
foreach $line (@lines){
($ID,$URL,$name,$hits) = split(/\|\|/, $line);
print "$name..........................$hits
\n";
}
exit;
} elsif ($fields{'a'} !~ /[500-507]/){
print "Content-type: text/html\n\n";
print "Sorry, out of range, don't fiddle with the URL!
Access denied!";
exit;
}
open (DATA, "<$database") || print "No database file: $!";
flock (DATA, 2);
@lines = ;
flock (DATA, 8);
close (DATA);
foreach $line (@lines)
{
($ID,$URL,$name,$hits) = split(/\|\|/, $line);
if ($fields{'a'} eq $ID)
{
print "Location: $URL\n\n";
}
}
open (DATAT, ">$database") || print "No database file: $!";
flock (DATAT, 2);
foreach $line (@lines)
{
($ID,$URL,$name,$hits) = split(/\|\|/, $line);
#if ($fields{'ID'} =~ /^$ID/)
if ($fields{'a'} =~ /$ID/)
{
$hits++;
print DATAT ("$ID||$URL||$name||$hits\n");
}
else
{
#print DATAT $line . "\n";
print DATAT $line;
}
}
flock (DATAT, 8);
close (DATAT);
exit;