Shadow: IP-Sperre

Beitrag lesen

So hier mal der Codeschnipsel, den ich jetzt geproggt habe, doch leider hab ich ein Problem, wenn ich den Skript aufrufe, dann sollte er ja eigentlich die IP und die Zeit in die DB schreiben, doch wenn ich ihn in Binnen 20 sek wieder aufrufe, dann, funktioniert das ganze nicht so wie es soll!
Woran liegt es

#/usr/bin/perl

use DB_File;
use strict;

Lock_DB binden

my $dbfile = '/tmp/lockip.db';
my %lockip;
tie(%lockip, 'DB_File', $dbfile, O_RDWR|O_CREAT, 0777) or die "Can't tie %data with file $dbfile";

my $locktime = 20; # Sekunden

#pruefen ob eine IP Adresse gelockt ist und ggf. locken
my $cip = $ENV{'REMOTE_ADDR'};
my $ctime = time;
my $timediff = $ctime - $lockip{$cip};
if ($timediff > $locktime)
 {
  print "Du Hast die Erlaubniss wieder abzustimmen";
  $lockip{'$cip'} = $ctime;
 }
else
 {
  print "Du hast keine Erlaubniss noch einmal abzustimmen";
 }

hash Bindung aufheben und exit

untie %lockip;
exit;