Sicherheit bei Datei-Dialogen
Verfasst: 14. November 2008 13:56
Hallo,
ich schreibe ein Programm, das Daten per XML speichern und lesen soll, wobei der Benutzer entsprechende Dateien per Dialog ein- und auslesen soll.
Sowohl beim Dialog zum Laden, als auch zum Speichern habe ich als Filter XML-Dateien gesetzt. Nun ist mir aufgefallen:
Beim Laden-Dialog ist zwar alles, was nicht XML ist ausgegraut, jedoch kann der Benutzer auch eine ausgegraute Datei anklicken und der Name aktualisiert sich. In der Folge gibt der Dialog auch den Namen der ausgegrauten Datei zurück.
Beim Speichern-Dialog wird nicht automatisch eine Endung .xml gesetzt. Lässt der Benutzer sie weg, wird eine Datei ohne Endung gespeichert. Theoretisch könnte ich zwar nach dem Dialogaufruf die Endung .xml anhängen, wenn sie nicht besteht, die automatische Nachfrage, ob eine bestehende Datei überschrieben wird allerdings vom Dateidialog selbst getätigt, der bis dahin diese Prüfung noch nicht durchlaufen ist.
Wie kann ich die Dialoge sinnvoll idiotensicher gestalten, sodaß es keine Möglichkeit mehr gibt, unrelevante Dateien zu öffnen oder zu überschreiben?
ich schreibe ein Programm, das Daten per XML speichern und lesen soll, wobei der Benutzer entsprechende Dateien per Dialog ein- und auslesen soll.
Sowohl beim Dialog zum Laden, als auch zum Speichern habe ich als Filter XML-Dateien gesetzt. Nun ist mir aufgefallen:
Beim Laden-Dialog ist zwar alles, was nicht XML ist ausgegraut, jedoch kann der Benutzer auch eine ausgegraute Datei anklicken und der Name aktualisiert sich. In der Folge gibt der Dialog auch den Namen der ausgegrauten Datei zurück.
Beim Speichern-Dialog wird nicht automatisch eine Endung .xml gesetzt. Lässt der Benutzer sie weg, wird eine Datei ohne Endung gespeichert. Theoretisch könnte ich zwar nach dem Dialogaufruf die Endung .xml anhängen, wenn sie nicht besteht, die automatische Nachfrage, ob eine bestehende Datei überschrieben wird allerdings vom Dateidialog selbst getätigt, der bis dahin diese Prüfung noch nicht durchlaufen ist.
Wie kann ich die Dialoge sinnvoll idiotensicher gestalten, sodaß es keine Möglichkeit mehr gibt, unrelevante Dateien zu öffnen oder zu überschreiben?