Entwickler-Ecke
IO, XML und Registry - Wie könnte ich das mit der Datenverwaltung besser lösen?
Tom01 - Do 21.07.11 14:35
Titel: Wie könnte ich das mit der Datenverwaltung besser lösen?
Hallo,
habe ein eher größeres Programm geschrieben, das viele Daten - fast täglich - abspeichert. Zurzeit funktioniert das alles mit einer Ordnerstruktur und .txt-Dateien. Also wird für jedes Jahr, für jeden Monat ein Ordner und für jeden Tag eine .txt-Datei erstellt. Und in diesen Textdateien werden die Daten gespeichert.
Funktioniert perfekt, aber leider ist diese Methode ja vollkommen unsicher - einmal die .txt-Datei bearbeiten und schon hat man die Daten verändert...
Deshalb würde ich das ganze gerne sicherer machen. Den Ordner schützen wird vermutlich (ich schätz mal) nicht gehen, dass dann nur das Programm das PW weiß...
Hättet ihr da Ideen, wie ich das ganze recht einfach aber ziemlich sicher lösen könnte???
Vielen Dank im Vorraus.
LG
Tom
Oliver M. - Do 21.07.11 18:44
Hmmm,
warum .txt Dateien? Das sind Reintextdateien. Ich glaube das ist nicht was du brauchst. Wie wäre es mit .dat Dateien? Da ist das Format des Inhaltes nicht vorgegeben und einfache Windowsbenutzer halten die Flossen davon, schon allein weil Windows keine Möglichkeit zum öffnen dieser .dat-Dateien bietet.
Die Idee mit dem Passwort geht, aber ich glaube, dass das keine gute Idee ist... :gruebel: Warum denke ich das nur???
Wo werden die Dateien denn abgespeichert? %programfiles% oder %userprofile%? Denn das würde es ausmachen, wie sicher das alles sein muss. Wenn du bei Word im Programmverzeichnis rumfummelst, kannst du dir nächlich gans Word zerschießen, also wäre es nicht schlimm, wenn das bei denem Programm nicht anders wäre. Ausersem lässt Windows dich ja nicht so einfach an %programfiles% dran.
Und warum solche Ordnerstuckturen? Da könnte der Benutzer ja herausfinden, worum es sich bei den Dateien handelt, und wenn benutzer das nicht wissen, machen sie leiber vorsichtshalber keine Änderungen. Ich würde die Dateien einfach in einen großen Topf schmeißen und sie YYMMDD.DAT benennen.
Ich hoffe ich kann dir helfen,
Oliver
Trashkid2000 - Do 21.07.11 19:34
Hallo, muss mal ungefragt mein Statement dazu abgeben.
Oliver M. hat folgendes geschrieben : |
[...] warum .txt Dateien? Das sind Reintextdateien. Ich glaube das ist nicht was du brauchst. Wie wäre es mit .dat Dateien? Da ist das Format des Inhaltes nicht vorgegeben und einfache Windowsbenutzer halten die Flossen davon [...] |
Was ist denn ein einfacher Windowsbenutzer? Jemand, der nicht wirklich viel Ahnung hat?
Oliver M. hat folgendes geschrieben : |
[...] schon allein weil Windows keine Möglichkeit zum öffnen dieser .dat-Dateien bietet [...] |
Jemanden, der ein bisschen Ahnung hat und was manipulieren will schreckt sowas kaum ab.
Oliver M. hat folgendes geschrieben : |
[...] wenn benutzer das nicht wissen, machen sie leiber vorsichtshalber keine Änderungen. Ich würde die Dateien einfach in einen großen Topf schmeißen und sie YYMMDD.DAT benennen [...] |
Naja, wenn ich wissen will, aus welcher Datei ein Programm liest, bzw. in welche Datei schreibt, so lasse ich einfach FileMon mitlaufen. Dann habe ich alle Informationen, die ich benötige.
Die große Frage ist doch, was in den Dateien gespeichert wird. Wenn es sehr sensible Daten sind, die der (fortgeschrittene) User nicht sehen darf, wirst Du wohl um eine Verschlüsselung nicht herumkommen.
Aber vor einem Manipulieren bist Du trotzdem nicht sicher, Du erhältst nur beim entschlüsseln Müll, oder es geht schief.
Wenn Du nur sicher sein willst, dass die Daten nicht manipuliert wurden, so speichere Dir entweder ein Hash, gegen den Du dann beim Einlesen prüfst (was aber auch geknackt werden kann), oder signiere die Dateien.
Thorsten Kettner - Do 21.07.11 19:45
Hi Tom, es würde helfen, zu wissen, was du da tagtäglich speicherst. Sind es tatsächlich Texte, die du einfach archivieren willst? Hast du tatsächlich Angst vor Manipulation oder nur vor versehentlichem Ändern/Löschen? Eventuell würde ja schon ein gesetztes Schreibschutz-Attribut an den erstellten Dateien genügen.
Es gibt natürlich viele Möglichkeiten, Daten zu speichern. Eine Datenbank mit oder ohne Passwort? Dann bräuchtest du keine Struktur mit Jahren und Monaten, sondern einfach ein Datum im Datensatz. Und je nach Datenbank-System hättest du letztlich evtl. nur eine Datei (SQLite, MDB, ...), so dass ein Backup ein Kinderspiel wäre.
Oliver M. - Do 21.07.11 21:31
Trashkid2000 hat folgendes geschrieben : |
Oliver M. hat folgendes geschrieben : | [...] warum .txt Dateien? Das sind Reintextdateien. Ich glaube das ist nicht was du brauchst. Wie wäre es mit .dat Dateien? Da ist das Format des Inhaltes nicht vorgegeben und einfache Windowsbenutzer halten die Flossen davon [...] | Was ist denn ein einfacher Windowsbenutzer? Jemand, der nicht wirklich viel Ahnung hat? |
Gans genau so einer.
Trashkid2000 hat folgendes geschrieben : |
Oliver M. hat folgendes geschrieben : | [...] schon allein weil Windows keine Möglichkeit zum öffnen dieser .dat-Dateien bietet [...] | Jemanden, der ein bisschen Ahnung hat und was manipulieren will schreckt sowas kaum ab. |
Manipulieren geht IMMER: entweder cmd
Format C: aber sonst Widerherstellungskonsole
Format C:. Oder gans einfach: PC-Vernichten. :wink:
Ich glaube es wäre hilfreich zu wissen, was für Daten das sind und wo sie hingespeichert werden...
MfG Oliver
Tom01 - Fr 22.07.11 10:21
Also: ja, ich könnte auf Dateiendeungen "erfinden", aber die kann man ja eh alle mit dem normalen Windows Editor bearbeiten...
Bzgl. Schreibgeschützt: wird nicht funktionieren, da mein Programm auf diese Dateien schreiben muss. Und da das Programm immer die Rechte von dem hat, der es benutzt, wird das nicht hinhauen!
Es werden wichtige Zahlen die später u.A. zur Berechnung des Gehalts eines Mitarbeiters dienen abgespeichert. Und da ists halt nicht lustig, wenn ein Mitarbeiter da einfach per Editor seine Arbeitszeit erhöhen kann!! Also sollen die Dateien nicht gegen Versehen geschützt sein, sondern gegen "Möchtegern-Hacker" (damit mein ich mit dem Editor die .txt-Datei bearbeiten). Darum gehts. Gegen sowas will ich das alles schützen.
Und Struktur oder Dateinamen ändern wird da gegen so einen "Möchtegern-Hacker" auch nix bringen....
Thorsten Kettner hat folgendes geschrieben : |
Es gibt natürlich viele Möglichkeiten, Daten zu speichern. Eine Datenbank mit oder ohne Passwort? Dann bräuchtest du keine Struktur mit Jahren und Monaten, sondern einfach ein Datum im Datensatz. Und je nach Datenbank-System hättest du letztlich evtl. nur eine Datei (SQLite, MDB, ...), so dass ein Backup ein Kinderspiel wäre. |
Sorry, hab deinen Beitrag wohl übersehen..
Klingt mal gut, aber ist das programmiertechnisch leicht umsetzbar?
Bitte um Hilfe!
LG
Tom
Oliver M. - Fr 22.07.11 12:39
Hmm, Datenbank mit Passwort... Gans einfach. Ich könnte dir zum warmwerden ein bisschen Beispielcode schicken, der dir beim datenbankauslesen hilft. Weil das ist schon ein bisschen krumm, aber mit meinem Code bekommst du einfach eine Table-Klasse zurück, die man total easy Auslesen kann. Äm, Sicherheit... Ja, Passwort, das geht... Aber es wäre besser, wenn die DB auf einem Server ist. Das macht das ganze um ein ganses Stück Sicherer... Und ist auch nicht schwerer.
Also wenn du mir die genaue Datenstrucktur giebst, dann könnte ich das für dich anlegen, weis du, ich Programmiere seit über nem halben Jahr an einem Projekt, was sich rund um Datenbanken dreht, und habe genau ein DLL was die Daten ausleist, geht auch mit Passwort.
MfG Oliver
Tom01 - Fr 22.07.11 12:58
Oliver M. hat folgendes geschrieben : |
Hmm, Datenbank mit Passwort... Gans einfach. Ich könnte dir zum warmwerden ein bisschen Beispielcode schicken, der dir beim datenbankauslesen hilft. Weil das ist schon ein bisschen krumm, aber mit meinem Code bekommst du einfach eine Table-Klasse zurück, die man total easy Auslesen kann. Äm, Sicherheit... Ja, Passwort, das geht... Aber es wäre besser, wenn die DB auf einem Server ist. Das macht das ganze um ein ganses Stück Sicherer... Und ist auch nicht schwerer.
Also wenn du mir die genaue Datenstrucktur giebst, dann könnte ich das für dich anlegen, weis du, ich Programmiere seit über nem halben Jahr an einem Projekt, was sich rund um Datenbanken dreht, und habe genau ein DLL was die Daten ausleist, geht auch mit Passwort.
MfG Oliver |
Danke, wäre super. Leider bin ich beim Thema Datenbanken auf der Stufe Null bis Anfänger.......
In der Firma in der mein Programm benutzt werden soll, ist ein Netzwerk über Kabel, "ohne wirklichen Server" vorhanden. Derzeit haben wir es so gelöst, dass mein Programm einfach im "Ordner" Y:/ (ist ein Laufwerksbuchstabe für einen Ordner im Netzwerk auf den alle PC's zugreifen können) alle Daten speichert/liest. Und da wäre es super wenn da eine Datei (eine Datenbank) drinnenliegt, auf die alle zugreifen können, jedoch nur mit PW. Und dieses PW sollte mein Programm dann halt kennen.
Wie wäre das mit einer DB möglich? Müsste etwas dazuinstalliert werden, wie ginge das? Was wäre das für eine Datei/Datenbank?
LG
Tom
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!