![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Neuer Benutzer
Registriert seit: 27.01.2006
Beiträge: 26
|
Formulare mit gesicherten hidden-Daten übergeben
Das Problem: Es sollen in einem Formular, mit GET oder POST , ein paar Werte als hidden übergeben werden. Das Versenden der Daten wird immer vom Client (in diesem Fall der Benutzer) ausgeführt. Der Benutzer kann aber auch selber ein Formular generieren und die hidden-Werte manipulieren. Mit anderen Worten , ich kann nicht davon ausgehen, dass das von mir erstellte Formular auch für den Versand der Daten oder den richtigen Inhalt verwendet wird. Es müssen also Vorkehrungen getroffen werden, die das Manipulieren unmöglich machen , oder zumindest erschweren. Ansätze zur Lösung: Schritt 1: Es ist sicherzustellen, dass das Formular vom Versender kommt. Um dies zu erreichen muss mit einem Zufallscode, eine Kombination aus zufälligen Zahlen und Buchstaben erstellt werden. Empfohlene grösse des Zufallscode sind 16 oder mehr Zeichen. Der Zufallscode wird ebenfalls als hidden-Wert im Formular dem Client übergeben. Auf dem Server muss der Zufallscode in einer Session zwischengespeichert werden, um den Zufallscode bei der Überprüfung vergleichen zu können. Der Versender hat schon mal kaum die Möglichkeit den Zufallscode zu erraten. Er kann nur nach Aufruf des richtigen Formulars seine Daten versenden. Ein Problem besteht allerdings noch. Dem Benutzer steht noch die Möglichkeit offen, das Formular auszurufen und somit auch den passenden Zufallscode zu erhalten. Danach könnte er die hidden-Daten mit den passenden Zufallscode manipulieren. Um auch das zu verhindern kann man alle hidden-Werte zuvor miteinander als String Verknüpfen und mittels md5-Funktion in einen sog. MD5-Hash umwandeln. Die gleiche Methode wird bei nach dem Empfang der Formulardaten mit diesen Daten wiederholt und beide MD5-Hash's werden verglichen. So kann einen Manipulation der hidden-Werte ausgeschlossen werden. Diese Methode der Werteüberprüfung funktioniert nur mit Werten die nicht Verändert werden oder nicht verändert werden dürfen. Beispielsweise bei der Navigation von Seiten. Für Verbesserungen oder andere Lösungen bin ich offen: org. Quelle: http://tecbase.dyndns.org/forum/viewtopic.php?t=17 |
|
|
|
|
|
Nach oben #2 | |
|
Erfahrener Benutzer
Registriert seit: 19.08.2005
Beiträge: 115
|
Zitat:
__________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning. |
|
|
|
|
|
|
Nach oben #3 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Mja wenn die Daten in den hidden-felder für jedes Formular fest steht, dann ist es sinnvoller die Daten in die Session zu speichern. So kommt gar keiner erst auf die Idee, dass es dort noch daten gibt, die man manipulieren kann.
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #4 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Imho haben Angaben, die nicht geändert werden soll oder gar sicherheitsrelevante Angaben nichts in hidden-Feldern zu suchen.
Einen ähnlichen Thread gab es hier schon mal. Grüße, Ben.
__________________
Mehr TuS Koblenz geht nicht ... Aktuell ... - Neue Gegner für die TuS: 1.FC Nürnberg - 5 neue Gegner 2008/09 - Informationsveranstaltung für Mitglieder - Förderkasse füllt sich - B-Jugend Rheinlandpokalfinale terminiert - A-Jugend I gewinnt Rheinlandpokal Geändert von Jann Hendrik (03.09.2008 um 15:18 Uhr). |
|
|
|
|
|
Nach oben #5 |
|
Neuer Benutzer
Registriert seit: 27.01.2006
Beiträge: 26
|
Wenn ich die Variablen alle in einer Session speichere , habe ich das Problem, dass die Sessionvariablen im nachfolgenden Schritt erhalten bleiben. Ich müsste die betreffenden Session immer löschen. Dabei gibt es noch das Problem, dass ich auch mehrere Zweige von meinem letzten Punkt haben kann und in den nachfolgenden Zweigen nicht überall eine Funktion schreiben will um die Werte zu löschen.
Weiterhin will ich die Anderen Zweige teilweisse auch von anderen Stellen aufrufen können. Ich sehe in der Beständigkeit der Sessionwerte das Problem mit dem handling. Wenn ich die Werte über hidden übergeben kann in sicherstellen, dass die Werte auch im 2. Schritt nicht mehr vorhanden sind. Das ist z.Z. erst mal eine Lösung. Ich weiss ja nicht ob es da noch andere Ansätze gibt? |
|
|
|
|
|
Nach oben #6 |
|
Irgendwas mit e
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 393
|
Du kannst doch einzelnen Sessionvariablen per unset() löschen.
__________________
In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int Geändert von Jojo (14.03.2006 um 15:21 Uhr). |
|
|
|
|
|
Nach oben #7 |
|
Erfahrener Benutzer
Registriert seit: 19.08.2005
Beiträge: 115
|
schadet es denn, wenn die werte weitergespeichert werden?
__________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning. |
|
|
|
|
|
Nach oben #8 | |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Zitat:
Dann macht es schon Sinn diese zu löschen, wenn die Logik es nötig macht. Beispiel: PHP-Code:
Bin mir allerdings auch nicht sicher, wie denn die übergebenen Daten performancetechnisch zum Tragen kommen. |
|
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Hardware-RAID-Lösung | robo47 | Plauderecke | 29 | 26.12.2007 04:49 |
| Speicherung von unternehmenskritischen Daten | bobby | Datenbanken | 5 | 23.05.2007 08:33 |
| [JAVA] Wie man aus Java mit einem PHP-Script kommuniziert | sparrow | Tutorials | 0 | 25.03.2006 22:24 |
| daten in array eintragen und auslesen | zerberos | Allgemeine Java-Programmierung | 15 | 20.02.2005 21:49 |
| [PHP] Wie übergebe ich Daten per URL? | Ben | Tutorials | 0 | 05.12.2004 14:36 |