Hallo
das ist leider mit ein paar Scriptzeilen nicht geschrieben, weil es in den Gesamtablauf des Gästebuchs eingeschrieben werden muss.
Mal zum Thema IP-Sperre
Man muss natürlich jede IP mit abspeichern. Gleichzeitig muss auch der Eintragszeitpunkt mit gespeichert werden.
Vor jedem neuen Eintrag in das Gästebuch wird nun geprüft, ob es einen Eintrag gibt, der die IP des Eintragenden hat und kleiner ist als bspw. 10 Minuten.
Überprüft werden könnte es über die SQL
Code:
SELECT ip FROM gbook
WHERE ip ='" & Request.ServerVariables("REMOTE_ADDR") & "'and datediff("n",datum,now())<10;
Ist es der erste Eintrag oder ein Eintrag, der länger als 10 Minuten zurück liegt, wird über obige Abfrage kein Eintrag gefunden. Das bedeutet, es kann ins Gästebuch geschrieben werden. Dieses kann man im Großen und ganzen auch über die Feldvalidierung steuern.
Die Abfrage lautet dann auf eof.
Code:
if rs.eof then
' alles ok, oder insert Statement
else
' kein Eintrag möglich
end if
so zumbeispiel.
Wenn Du noch zusätzliche Sicherheit über einen Zahlencode haben möchtest, musst Du eine entsprechende Abfrage über die Feldvalidierung erstellen.
Code:
' --- Zufallszahl zwsichen 10000 und 99999
RANDOMIZE(TIME())
dim u : u = 10000
dim o : o = 99999
wert = INT( (o-u +1) * RND()+u)
' --- dann fragt man ab
if session("zufall") = "" then session("zufall") = wert
Man kann nun für jede mögliche Zahl von 0-9 ein gif erstellen und die Session dann wie folgt aufrufen
Code:
for i = 1 to 5
Response.write "<img src=""images/pic/pic" & mid(session("zufall"),i,1) & ".gif"">"
next
Dieser Zahlencode muss dann in ein Formularfeld geschrieben werden und sollte bei der Feldvalidierung mit überprüft werden, ob er dem Wert der Session entspricht.
mit
session.contents.remove("zufall") könnte die Session dann wieder gelöscht werden, wenn man das für den Ablauf möchte.
Ein fertiges Script für ASP habe ich leider nicht, aber so könnte die Vorgehensweise sein.