Auge: cgi Daten serverseitig begrenzen?

Beitrag lesen

Hallo

Um zu vermeiden, das "unendlich" viel Text übertragen wird, welcher ja Speicherplatz auf dem Server belegt, wollte ich die Zeichenmenge bei dem Gästebucheintrag begrenzen. Beispielsweise max. 200 Zeichen pro Eintrag. Das würde per Javascript gehen. Nur wenn sich der Client auskennt, kann er das ja umgehen und meinem Server z. B. den gesamten Bibeltext schicken - was der Server dann nicht mehr speichern könnte.

Die Methoden "get" und "post" sind mir bekannt.

Nun meine drei Fragen:

Gibt es eine Möglichkeit, serverseitig (Perl) die zu empfangenen Daten von vorne herein zu begrenzen? Also wenn das Formular mehr sendet als z. B. die erwähnten 200 Zeichen, die Übertragung zu beenden und eine Fehlermeldung auszugeben? (Dann wäre der Manipulationsversuch gescheitert)

Natürlich kannst du mit einer serverseitigen Sprache die Anzahl der Zeichen – hier die des Textfeldes – ermitteln und dann entscheiden, ob du den Eintrag verwirfst oder abschneidest bzw. in Gänze speicherst.

Kann man die IP des Gastes mit Uhrzeit speichern und erst nach Ablauf von einer Minute für einen weiteren Gästebucheintrag freigeben? (soll verhindern, das ein automatisches Programm in der Endlosschleife die Gästebuchdatei vollstopft.)

Ja, das kann man. Entweder du speicherst die Daten beim Eintrag oder in einer eigenen Datei, gegen die dann bei jedem Eintragsversuch geprüft wird. Die Daten sollten nach einer gewissen Zeit wieder bereinigt werden, sonst läuft dir die Prüfdatei auch irgendwann über.

Wie groß ist die Gefahr wirklich, das bösartige Clients über die cgi versuchen, direkte Befehle an den Server zu geben, mit dem Ziel die Kontrolle über diesen zu erlangen. Ich habe gelesen, das dies möglich sein soll. Weis allerdings nicht mehr ob dies nur PHP-Scrips betraf oder auch für Perl galt.

Von Misskonfigurationen des Servers abgesehen obliegt es dir bei der Verarbeitung der hereinkommenden Daten, diese zu prüfen und zu benutzen oder zu verwerfen.

Tschö, Auge

--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
Veranstaltungsdatenbank Vdb 0.3