bestimmte Domains im Gästbuch verbieten

kwehr

Grünschnabel
Hallo,

ich habe folgendes Problem:
seit ein paar Tagen schreibt wahrscheinlich ein Programm mehrere kurze Einträge in unser asp-Gästebuch rein. Kann ich irgendwie ein/zwei Domänen sperren lassen?

Vielen Dank für Antworten
gruss
Karsten
 
Hallo

Du kannst natürlich Domains (IP) sperren lassen aber die Frage ist, ob das allein Sinn macht?

Du solltest noch einen Ziffercode mit in Dein Gästebuch schreiben lassen, welche über eine Zufallszahl gebildet wird. Die kann man auch optisch als Bilder darstellen. Diese Zufallszahl speicherst Du z.B. in eine Session und vergleichst den eingetragenen Wert (Formularfeld) mit der Session. Ist der 1. Eintrag gemacht worden, wird die Session gelöscht und es generiert sich eine neue Zahl. Gleichzeitig kannst Du noch einen Cookie mit der IP-Adresse speichern und den 20 Min. aktiv halten, d.h. es kann die gleiche IP nur einmal in 20 Min. einen Eintrag machen und das nur mit unterschiedlichen Ziffernfolgen.

So ist es nahezu unmöglich, über ein Programm mehrere Einträge hintereinander zu setzen.
 
Hallo Luzie,

hast Du für mich die notwendigen scriptzeilen da - ich bin noch ziemlicher Anfänger in asp.

Gruss und Danke
Karsten
 
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.
 

Neue Beiträge

Zurück