Zum Inhalt springen

HTML-Formular prüfen


ipu

Empfohlene Beiträge

Hallo zusammen,

vielleicht kann mir jemand helfen. Ich habe mit XSQL und XSLT ein Web-Frontend entwickelt, das u.a. Formulare enthält, um Daten in einer Oracle-DB neu zu speichern bzw. zu aktualisieren. Die eingegebenen Daten sollen vor dem Speichern in der DB überprüft werden, z.B. darf das Geburtsdatum nicht in der Zukunft liegen. Vorgesehen war, die Integritätsprüfungen mit JavaScript umzusetzten. Jetzt habe ich aber gelesen, dass z.B. FireFox mit JavaScript nicht klarkommt, so dass ich jetzt nach anderen Möglichkeiten suche. Da ich total neu in der Web-Programmierwelt bin, hätte ich gerne Tips und Anregungen, womit die Daten an Stelle von JavaScript überprüft werden könnten. Ob auf der Server- oder Client-Seite spielt dabei erstmal eine Untergeordnete Rolle.

Vielen Dank im Voraus,

Grüße von ipu :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mir ist durchaus klar, dass dazu schon eine Menge im Web zu finden ist. Ich möchte auch weniger wissen, wie es geht, sondern mehr, womit die Datenüberprüfung sinnvoll umgesetzt werden kann. Und ich würde mich gerne darüber austauschen.

Nochmal Grüße von ipu

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da ich total neu in der Web-Programmierwelt bin, hätte ich gerne Tips und Anregungen, womit die Daten an Stelle von JavaScript überprüft werden könnten. Ob auf der Server- oder Client-Seite spielt dabei erstmal eine Untergeordnete Rolle.
Damit du wirklich sichergehen kannst, dass auch alle Daten korrekt in die Datenbank gespeichert werden, wirst du die Überprüfunden serverseitig machen müssen. Daten, die vom Client kommen sind erstmal als unsicher, bzw. unvollständig anzusehen. JavaScript lässt sich ausschalten/manipulieren und wenn ich einen Fehler einschleusen will, dann handle ich den gesamten HTTP Transport direkt manuell und gehe gar nicht erst den "Umweg" über den Browser.

Womit du den Check auf dem Server durchführst bleibt deinem persönlich Geschmack überlassen. PHP, ASP, JSP, Servlets, ... für jeden Geschmack dürfte etwas dabeisein, da kommt es dann meistens auf die Vorkenntnisse an, womit man sich also am ehesten schon etwas auskennt und auf den Umfang des Projektes.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Damit du wirklich sichergehen kannst, dass auch alle Daten korrekt in die Datenbank gespeichert werden, wirst du die Überprüfunden serverseitig machen müssen. Daten, die vom Client kommen sind erstmal als unsicher, bzw. unvollständig anzusehen. JavaScript lässt sich ausschalten/manipulieren und wenn ich einen Fehler einschleusen will, dann handle ich den gesamten HTTP Transport direkt manuell und gehe gar nicht erst den "Umweg" über den Browser.

Womit du den Check auf dem Server durchführst bleibt deinem persönlich Geschmack überlassen. PHP, ASP, JSP, Servlets, ... für jeden Geschmack dürfte etwas dabeisein, da kommt es dann meistens auf die Vorkenntnisse an, womit man sich also am ehesten schon etwas auskennt und auf den Umfang des Projektes.

Hi Perdi,

erstmal danke!

Was heißt denn: "... dann gehe ich gar nicht den 'Umweg' über den Browser."? Wie kann ich denn anders mit einem Web-Frontend kommunizieren als über einen Web-Browser?

Das Projekt ist mit XSQL und XSLT programmiert und da hängt eine Oracle-DB dran. Der Umfang ist mittel, würde ich sagen.

Mit Java habe ich vor ewigen Zeiten programmiert, mit dem Rest habe ich noch gar nicht programmiert. Wenn ich das mit Java umsetzen will, wären dann deiner Meinung nach JSP oder Servlets einfacher/besser? Nach dem, was ich so gelesen habe, würden einfacher umzusetzen sein: "Die JSP-Syntax erlaubt es mittels spezieller XML-Tags (JSP-Aktionen) vordefinierte Funktionalität einzubinden. Diese JSP-Aktionen werden in so genannten Tag-Bibliotheken (Tag Libraries) als Erweiterung der HTML bzw. XML Tags definiert." (aus http://www.computerbase.de/lexikon/JSP). Aber ich kann mit beidem Checks durchführen, richtig?

Grüße von ipu

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ähm ja, also mal kurz zu der Aussage "FireFox hat Probleme mit Javascript"

Da wäre mir neu. Der FF kann genauso Javascript wie der IE.

Er hat mit sicherheit ein paar Eigenschaften die sich vom IE oder anderen JS-Fähigen Browsern unterscheiden, aber die sind nicht groß und nur in mehr oder wengier speziellen Bereichen.

Aber wie gesagt, Javascript lässt isch ganz einfach in den Optionen mit einem einzigen klick deaktivieren und schon ist jeder Schutz den du dir dadurch erhoffst flöten gegangen.

Von Java und dem hab ihc zwar kein plan, mach das immer mit php, aber von der logik her ist es das gleiche.

Du musst definieren, welche Arten von eingaben du hast (Einzeilige kurze Strings, Mehrzeilige lange Texte, Zahlen, Datumsangaben,...)

und dann würde ich für die alle ne Funktion schreiben die sie überprüft ob sie korrekt aufgebaut sind und keine unerlaubten Zeichen enthalten (zb. <script>, oder im einzeiligen String ein <br> oder sowas)

und dann gibst du eben false oder true zurück, im quellcode der die funktion aufruft dann etwa sowas wie (psychocode)


if(!check_longtext($text_a)){ //ein langer mehrzeiliger text kontrollieren

 ausgabe "Falsche Eingabe bei xyz";

}else{

 verarbeite die daten

}

if(!check_number($number, "int")){ //eine soll int zahl überprüfen

 ausgabe "falsche eingabe..";

}else{

 mach was

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ähm ja, also mal kurz zu der Aussage "FireFox hat Probleme mit Javascript"

Da wäre mir neu. Der FF kann genauso Javascript wie der IE.

Mein Chef meinte, bei einer anderen Webentwicklung gabs da Probleme, FireFox hätte das Script nicht ausgeführt. Wobei ich nicht weiß, ob das vielleicht deaktiviert war :-).

Aber wie gesagt, Javascript lässt isch ganz einfach in den Optionen mit einem einzigen klick deaktivieren und schon ist jeder Schutz den du dir dadurch erhoffst flöten gegangen.

...

Du musst definieren, welche Arten von eingaben du hast (Einzeilige kurze Strings, Mehrzeilige lange Texte, Zahlen, Datumsangaben,...)

und dann würde ich für die alle ne Funktion schreiben die sie überprüft ob sie korrekt aufgebaut sind und keine unerlaubten Zeichen enthalten (zb. <script>, oder im einzeiligen String ein <br> oder sowas)

und dann gibst du eben false oder true zurück, im quellcode der die funktion aufruft dann etwa sowas wie ...

Also würdest du auch zu serverseitiger Überprüfung raten?! Stimmt schon, durch die Deaktivierung von JavaScript ist alles hin. Ich hatte schon überlegt, zusätzlich zum JavaSript zu melden, wenn das Speichern in der DB nicht geklappt hat, aber das wäre dann ja "doppeltgemoppelt" und somit überflüssig. Dann kann ich auch direkt serverseitig die Daten checken.

Da ich von PHP (leider) keine Kenne habe, werde ich dann wohl sehen, wie's mit JSP bzw. Servlets in Java geht, wobei mir der Unterschied nicht so wirklich klar ist.

Danke und Grüße von ipu

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde dir nicht zum serverseitigen Check raten, ich würde es dir eher Befehlen ;)

Wenn ich Javaskript deaktiviere und du es weiter nicht prüfst stehen mir alle Tore offen.

Nemen wir einfach mal kurz ein ganz einfaches Beispiel wie ich es bereits im echten Leben erlebt habe.

Ein Clan betreibt ein Newssystem um eine einfache Verwaltung der News zu haben.

Im Quellcode ist die URL des Systems, geht man auf diese kommt man zum Adminlogin.

Dieser ist mit JS gesichert. Nachdem ich JS deaktivert habe und auf "login" geklickt hab, war ich (!!!) OHNE SESSION ALS ADMIN (!!!) eingeloggt.

Ich konnte tun und lassen was ich wollte.

Troz der Aussage vieler "man könnte ohne Session garnicht auf der Seite agieren und handeln können" es geht, und zwar, wenn ich nur mit JS absichere

Anderes BSP:

Zugang zum Mitgliederbereich über JS Passwortgeischert, JS deaktiviert war ich drin, dort stand dann tollerweiße das PW uncodiert im Quellcode, dann musst ich nichmal mehr JS deaktiveren ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was heißt denn: "... dann gehe ich gar nicht den 'Umweg' über den Browser."? Wie kann ich denn anders mit einem Web-Frontend kommunizieren als über einen Web-Browser?
In den du den Browser praktisch selber "spielst". Schließlich macht ein Browser nichts anderes, als Eingaben vom User holen (URL, Formularfelder, etc.) gemäß HTTP Protokoll aufzuarbeiten, an den Server zu senden, die Antwort zu empfangen und wieder schön visuell aufzuarbeiten.

Für Testing- oder Automatisierungszecke macht es aber Sinn die ganzen Eingaben nicht vom Benutzer sondern automatisiert durchführen zu lassen. Ein Login könnte dann beispielsweise so aussehen:

    WebConversation loginConversation     = new WebConversation();


    PostMethodWebRequest loginRequest     = new PostMethodWebRequest("http://www.irgendwo.de/login.jsp);

    loginRequest.setParameter("username", "x");

    loginRequest.setParameter("password", String.valueOf("y"));


    WebResponse loginResponse             = loginConversation.sendRequest(loginRequest);

    String loginResponsePage              = loginResponse.getText();

Wenn ich das mit Java umsetzen will, wären dann deiner Meinung nach JSP oder Servlets einfacher/besser?
Lässt sich nicht unbedingt immer eindeutig sagen. Für ein paar Checks ist wohl JSP geeigneter, weil schneller aufzusetzen und zum Testen schneller eingerichtet. So muss ich nicht nach jeder Änderung wieder die gesamte WebApplication neu deployen, sondern nur das JSP austauschen.

Aber ich kann mit beidem Checks durchführen, richtig?

Grüße von ipu

Du kannst einen einfach Check mit so ziemlich allem ausführen, was die serverseitige Welt zu bieten hat :)
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde dir nicht zum serverseitigen Check raten, ich würde es dir eher Befehlen ;)

:D Schon gut, hab verstanden! Mein Login ist übrigens KEIN JavaScript. Aber daß das so einfach ist das zu umgehen und sich als Admin einzuloggen, hätt ich auch nicht gedacht (Danke für die Beispiele)!

Ich werd dann mal sehn, was ich tun kann.

Grüße von ipu

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mein Chef meinte, bei einer anderen Webentwicklung gabs da Probleme, FireFox hätte das Script nicht ausgeführt. Wobei ich nicht weiß, ob das vielleicht deaktiviert war :-).

Entweder das, oder es war vielleicht ein Fehler im Javascript, der aber vom IE nicht angemeckert wird, oder was halt ein "Fehler" in der JavaScript Umsetzung vom IE ist. Also wie bei etlichen Webseiten wurde dieses Script "optimiert für den IE" und andere Browser, die sich an den Standard halten, kommen damit dann nicht zurecht.

Bei korrektem JavaScript gibt es aber keine Probleme.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst einen einfach Check mit so ziemlich allem ausführen, was die serverseitige Welt zu bieten hat :)

:) gut, gut!

Ich werde mich dann auf Servlets und JSP stürzen; davon habe ich zumindest in früheren Zeiten schon mal was gehört.

Entweder das, oder es war vielleicht ein Fehler im Javascript, der aber vom IE nicht angemeckert wird, ... .

Bei korrektem JavaScript gibt es aber keine Probleme.

Gut zu wissen! Ich werde auch nochmal nachhaken, ob's an dem einen oder anderen gelegen haben könnte!

Vielen Dank euch allen, das hat echt geholfen! Ich werde mich dann jetzt auf Servlets und JSP stürzen; davon habe ich zumindest in früheren Zeiten schon mal gehört.

Ein schönes Wochenende

wünscht ipu

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...