Hallo,
ich habe folgendes Problem:
In einem Gästebuch möchte ich eine IP-Sperre einbauen, so dass zwei oder mehrere Einträge nur nach einer bestimmten abgelaufenen Zeit geschrieben werden können. Dazu habe ich mir überlegt, ich lege eine Logdatei auf dem Server an. In dieser Datei soll ZEILENWEISE jeweils der String $textzeile zum Beispiel geschrieben werden. Dieser String setzt sich wie folgt zusammen:
my $sekunden=time();
my $aktuelle_ip=$ENV{"REMOTE_ADDR"};
my $textzeile=sekunden&&$aktuelle_ip\n;
So soll das nun Zeilenweise in dieser Datei stehen:
1022283091&&217.82.49.20
1022283092&&217.82.49.21
1022283093&&217.82.49.22
usw... Ich glaube, das Hineinschreiben bekomme ich hin, das wird nur anhängendes Schreiben sein, und da zu einer Zeit immer nur ein User das Script ausführen kann, kann es auch nur immer eine Zeile sein, also kein Problem.
Nun zu meinem Hauptproblem:
Wie bekomme ich diese Daten wieder sauber aus dieser Textdatei heraus, so dass der erste Wert (Sekunden) auch wieder numerisch ist, und sich damit rechnen lässt. Ich möchte nämlich den aktuellen Zeitwert Minus dem gespeicherten Zeitwert nehmen, das Ergebnis muss größer als 15 Minuten sein. Wenn ich nun mal Pseudo-Code schreibe:
Öffne Datei
Speichere Dateiinhalt in Array-Variable
Schließe Datei
Verarbeite Array-Variable so lange bis Ende
{
Lese 1. Zeile und speichere in Variable1
Hier mach jetzt meine Wunschverarbeitung
}
Im 2. Durchgang soll dann Zeile 2 verarbeitet werden usw, bis der Zeiger auf Dateiende steht.
Entschuldigt die vielleicht ganz easy Frage, ich habe leider keine Antwort auf meine Frage in SelfHTML gefunden.
In COBOL geht das leicht. ;-) Leider hilft mir das hier nicht weiter...
Vielen tausend Dank für alle Tipps und Hilfen.
MfG
Sascha Müller