Dateien sperren



  • Hallo,

    mein Programm, dass ich gerade schreibe, legt einige Dateien an und speichert bestimmte Daten in einer bestimmten Reihenfolge hinein. (Kann man mit *.ini vergleichen). Ich möchte jedoch erreichen, dass der Anwender diese Datei nicht manuell (also über das Verzeichnis) öffnen kann, da er diese Datei evtl. beschädigen könnte.

    Kann ich irgendwas programmieren, dass diese Dateien vor öffnen geschützt werden, und der Anwender eine Fehlermeldung kassiert?



  • Hm, also generell kann man jede Datei öffnen, es sei denn du stehst auf Systemtreiber.

    Nein, eine Möglichkeit deine Dateien vor Veränderungen zu schützen (bzw. zu überprüfen, ob er etwas verändert hat) wären Prüfsummen wie z.b. CRC32.



  • Hallo

    setz einfach die Dateieigenschaften r+h+s
    (das ist kein optimaler Schutz aber besser wie gar nichts)

    MfG
    Klaus



  • Ja danke für den Tip!
    Werde ich auf alle Fälle machen.

    Ich hab jetzt zusätzlich die Daten als *.dll abgespeichert. Wenn man jedoch die DLL Dateien mit dem Editor öffnet, dann werden die Daten halt leider immer noch angezeigt.



  • Was hast du denn gedacht, dass sich mit dem Ändern der Endung auch der Inhalt verändert? 😉

    Lass uns das mal nach "Rund um" verschieben, ich sehe hier kein BCB-spezifisches Problem.



  • Na ja dann ist halt der Benutzer selber schuld.. Ich meine ich kann auch irgendwelche Programm- bzw Systemdateien manipulieren und wenn dann halt das jeweilige Programm bzw System nicht mehr funktioniert bin ich eben selber schuld.



  • Da hast du recht!
    Es ist auch eine passable Lösung. Vor allem: Wer kommt auf die Idee eine DLL mit dem Editor zu öffnen??

    Ich habe mir das zu einfach vorgestellt. Ich dachte, das kann man "mit etwas Quelltext" lösen. Gibts denn da wirklich keine "leichte" Lösung? 🙄



  • Verändern kann der User immer! Wenn du aber nicht willst das er wirksam was an deiner Datei verändern kann, dann verschlüssle sie einfach. Und wie man prüft ob sie verändert wurde kannst du wie oben genannt mit einer Prüfsumme machen...

    ciao
    😃



  • Wenn die Daten nicht umbedingt als ASCII Text gespeichert werden müssen, dann speichere sie in einem anderen Format. Du könntest auch eine Verschlüsslung benutzen (wirrer ASCII Müll im Editor wird jeden User abschrecken da was zu ändern). Am besten benutzt du allerdings die Registry statt irgendwelchen INI Dateien (solange die Daten nicht allzu groß sind).


Anmelden zum Antworten