Wo plausibilisieren sich Formular-Daten am besten?

Welche Daten sollen überprüft und welche Abhängigkeiten sind dabei zu berücksichtigen?

Von: Ralph Steyer
Stand: 13. März 2007
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Ralph Steyer

bild118051

Ralph Steyer ist Diplom-Mathematiker und seit 1996 selbstständig im Bereich Schulung, Programmierung und Beratung. Seine Spezialgebiete sind die Internet-Programmierung und objektorientierte Software-Entwicklung. An der Hochschule RheinMain hat er einen Lehrauftrag im Fachbereich Multimediadesign. Ralph Steyer schreibt außerdem regelmäßig für verschiedene Computermagazine und ist Autor zahlreicher Fachbücher zu Themen von JavaScript, Web-Frameworks wie jQuery über Java bis zum Intranet-Management. Auf der Autorenseite von Amazon finden Sie zu den Büchern genauere Informationen. Sein Blog und seine Homepage sind auch gute Quellen für weitere Informationen.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

Im Client oder beim Server?

Plausibilisierung im Client mit JavaScript

Bei einer Webapplikation kann im Prinzip die gesamte Plausibilisierung bereits im Browser erfolgen, sofern keine Zugriffe auf eine Datenbank notwendig sind. Zwar ist HTML zu keinerlei nennenswerten Plausibilisierungen in der Lage, aber genau dazu wurden ja clientseitige Webtechniken wie JavaScript eingeführt. Mittlerweile ist JavaScript auch die einzige flächendeckend verfügbare, clientseitige Programmiertechnik im Web und es dürfte sogar die mit Abstand wichtigste Anwendung von JavaScript sein; die Möglichkeit Webformulare zu plausibilisieren.

Die Variante, in der sich der Client vollständig um die Plausibilisierung einer Webapplikation kümmert, hat diverse Vorteile. Insbesondere müssen keine fehlerhaften Daten hin und her geschickt werden. Der Clientbrowser kann beispielsweise via JavaScript bereits zahlreiche Abhängigkeiten und Vorgaben prüfen und verhindern, dass ein dahingehend inkorrektes Formular überhaupt zu Server abgeschickt wird. Im einfachsten Fall können Pflichtfelder überprüft werden, aber es kann auch der Inhalt von Feldern bezüglich dem Vorkommen bestimmter Zeichen überprüft werden, der Wertebereich von Zahlen kann überprüft werden, und so weiter.

Bild vergrößernScreenshot 4

Ein Nachteil reiner clientseitiger Plausibilisierungen ist jedoch, dass bestimmte Informationen nicht beim Client bereitstehen können. Dies sind alle Informationen, die etwa den Zugang zu einer Datenbank benötigen (beispielsweise ein Prüfung aller gültigen PLZ-Ortsnamen-Beziehungen). Das größte Problem ist jedoch ein anders.

Allgemein kann man zwar heutzutage JavaScript in fast allen Browsern voraussetzen. Allerdings können Anwender die Ausführung von Skripten (oder anderen Clienttechniken) jederzeit in ihrem Browser deaktivieren. Dementsprechend werden Plausibilisierungen, die mit JavaScript im Client stattfinden sollen, bei deaktiviertem JavaScript nicht greifen und Daten in einem Webformular möglicherweise ungeprüft zum Server geschickt werden. Es ist zwar möglich, das ungeprüfte Verschicken der Daten zu erschweren, aber ein geübter Anwender kann diese Schutzmaßnahmen aushebeln.

Plausibilisierung im Server

Wenn der Server via einer Technik wie PHP oder ASP die ausschließliche die Überprüfung von Eingaben in einem Webformular übernimmt, kann man natürlich dort alle Plausibilisierungen durchführen. Das steht außer Frage. Aber auch bei dieser Vorgehensweise gibt es einige gravierende Nachteile. Hier sind drei der Wichtigsten:

  1. Das Laufzeitverhalten einer serverseitig plausibilisierten Webapplikation ist schlecht. Bis eine Antwort vom Server auf eine Anfrage zur Plausibilisierung von bestimmten Daten wieder beim Client ist, kann viel Zeit vergehen. Zwar kann man durch neue Techniken wie AJAX nur Teile einer Webseite austauschen und die Menge der auszutauschenden Daten reduzieren, aber dennoch müssen Daten erstmal von Client zum Server und wieder zurück geschickt werden.

  2. Es kommt bei einer serverseitig plausibilisierten Webapplikation zu einer starken Belastung der Kommunikationswege durch unnütz hin- und hergeschickte Daten.

  3. Es gibt eine starke Belastung des Servers bei gleichzeitigem Brachliegen immenser Client-Ressourcen.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein