...
####
my $xs = XML::Simple->new();
my $xmlf = './data/rsn_users.xml';
my $ip = 'ip' . $ENV{REMOTE_ADDR};
my $config = $xs->XMLin($xmlf);
my ($time, $visits);
if(exists $config->{$ip}){
$time = $config->{$ip}{'time'};
$visits = $config->{$ip}{'visits'};
}
else{
$config->{$ip}{'time'} = time()-21;
$config->{$ip}{'visits'} = 0;
$time = $config->{$ip}{'time'};
$visits = $config->{$ip}{'visits'};
}
if($time < time()-86400){
$config->{$ip}{'visits'} = $visits = 0;
}
if($time > time()-20){
print "Content-type: text/html\n\n";
print qq[You reloaded too soon!
Your IP: $ip
Last visit: $config->{$ip}{'time'}
Number of Visits: $config->{$ip}{'visits'}];
exit;
}
if($visits > 15){
print "Content-type: text/html\n\n";
print qq[You are over the allowed number of visits per day!
Wait 86400 seconds (one day), then reload.
Your IP: $ip
Last visit: $config->{$ip}{'time'}
Number of Visits: $config->{$ip}{'visits'}];
exit;
}