ipu Geschrieben 23. Juni 2005 Teilen Geschrieben 23. Juni 2005 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: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ipu Geschrieben 23. Juni 2005 Autor Teilen Geschrieben 23. Juni 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 23. Juni 2005 Teilen Geschrieben 23. Juni 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ipu Geschrieben 24. Juni 2005 Autor Teilen Geschrieben 24. Juni 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 24. Juni 2005 Teilen Geschrieben 24. Juni 2005 Ä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 } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ipu Geschrieben 24. Juni 2005 Autor Teilen Geschrieben 24. Juni 2005 Ä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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 24. Juni 2005 Teilen Geschrieben 24. Juni 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 24. Juni 2005 Teilen Geschrieben 24. Juni 2005 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 ipuDu kannst einen einfach Check mit so ziemlich allem ausführen, was die serverseitige Welt zu bieten hat Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ipu Geschrieben 24. Juni 2005 Autor Teilen Geschrieben 24. Juni 2005 Ich würde dir nicht zum serverseitigen Check raten, ich würde es dir eher Befehlen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 24. Juni 2005 Teilen Geschrieben 24. Juni 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ipu Geschrieben 24. Juni 2005 Autor Teilen Geschrieben 24. Juni 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.