Komplizierte Sache



  • Hallo,

    ich habe den Auftrag mit dem C++-Builder folgendes Problem zu lösen.

    1. Auf einem Client ist ein C++-Programm, welches Verbindung zur Datenbank eines Servers aufnimmt und nach Updates sucht. Findet er welche, soll er sie installieren (installieren bedeute bis jetzt eine Datei vom Server auf den Client laden oder eine bestimmte Client-Datei verändern.

    2. klappt auch schon problemlos

    nun soll aber folgendes ermöglicht werden:

    1. Die Client-Applikation soll sich in einem geschützten Ordner befinden, wo auch die Update-Dateien installiert werden.

    Wie kann das realisiert werden? Also wie kann man vom Server (Datenbankabfrage) ein Zugang anfordern, der einem den Zugriff auf die geschützen Dateien im Ordner ermöglicht? Ich weiß nicht mal, wie man den Ordner vernünftig schützen kann unter Windows XP.

    Hoffe, ich habs einigermaßen anschaulich rüber bekommen 🙂

    Achja, wie kann man umsetzen, dass auch Programme über die C++-Applikation installiert werden (im Hintergrund), ohne dass man irgendwo weiter klicken muss?

    Alles soll mit dem C++-Builder realisiert werden.

    Besten Dank an die Profis.

    Euer Al.



  • AlTheKingBundy schrieb:

    1. Die Client-Applikation soll sich in einem geschützten Ordner befinden, wo auch die Update-Dateien installiert werden.

    Wenn sie das könnte, wäre der Ordner nicht mehr geschützt.

    Solange deine Updates aus Datenaktualisierungen bestehen, schreibe diese nach %APPDATA%. Da gehören sie hin.

    AlTheKingBundy schrieb:

    Ich weiß nicht mal, wie man den Ordner vernünftig schützen kann unter Windows XP.

    Das ist einfach: eingeschränkte Benutzerrechte. Wenn das Anwendungsverzeichnis im Standard-Programmverzeichnis liegt, hast du keine Schreibrechte dort.
    Alternativ benutze Vista 😉

    AlTheKingBundy schrieb:

    Achja, wie kann man umsetzen, dass auch Programme über die C++-Applikation installiert werden (im Hintergrund), ohne dass man irgendwo weiter klicken muss?

    Für so etwas eignen sich Trojaner traditionell recht gut.



  • Ich habe nicht vor, einen Trojaner zu programmieren. Das Programm soll ja nicht heimlich, sondern auf Wunsch der Clients installiert werden, weil automatische Informationsupdates eingespielt werden sollen.



  • AlTheKingBundy schrieb:

    Achja, wie kann man umsetzen, dass auch Programme über die C++-Applikation installiert werden (im Hintergrund), ...

    AlTheKingBundy schrieb:

    Das Programm soll ja nicht heimlich, sondern auf Wunsch der Clients installiert werden, weil automatische Informationsupdates eingespielt werden sollen.

    Was denn nun, Programme oder Informations-Updates?



  • Das Programm installiert die Informationsupdates



  • Vielleicht hilft der Link:

    http://www.codeproject.com/KB/install/simpleupdate.aspx

    mfg
    kpeter



  • Klingt interessant, danke erst mal, ich versuchs mal damit



  • AlTheKingBundy schrieb:

    1. Die Client-Applikation soll sich in einem geschützten Ordner befinden, wo auch die Update-Dateien installiert werden.

    was bedeutet "geschützt"? willst du was verstecken? warum?

    Besten Dank an die Profis.

    du bist doch auch ein profi, wenn du programme für kunden schreibst...
    vorausgesetzt, deine "kunden" installieren deine programme freiwillig. 🙂



  • Also, es soll ein Ordner sein, in dem sich 2 Dateien befinden.

    1.) Das C++-Update-Programm
    2.) Eine .txt Datei, die ein paar Textzeilen enthält, die das Update-Programm aus der Datenbank des Servers aktualisiert und die via Ticker angezeigt werden.

    Also keine Hackerei.

    Ich will einfach nur verhindern, dass einmal das Updateprogramm und zum anderen die .txt Datei gelöscht werden können.

    By the way:

    Die Datenbankverbindung habe ich via ODBC installiert. Ist es möglich, das Passwort der datenbank irgendwie auszulesen? Wie kann man die Datenbankverbindung schützen?



  • Hi

    AlTheKingBundy schrieb:

    Ist es möglich, das Passwort der datenbank irgendwie auszulesen? Wie kann man die Datenbankverbindung schützen?

    Soll ja immer noch vorkommen, dass ein DB-Administrator sein Passwort in der Login-Datei unverschlüsselt hart codiert (Serverseitig).
    Das ist ein Angriffspunkt.
    Dein Update sollte auch mit einer verschlüsselten Verbindung durchführt werden.

    Edit: Hab mir dein Vorgehen nochmal durchgelesen: Warum stellst du deine Update-Infos nicht als fertige Datei auf deinen Server.
    Diese Datei wird kontinuierlich aktualisiert. Dein Update-Prog lädt nur diese Datei auf den PC des User.
    So verhinderst du, dass ständig User auf die DB zugreifen müssen/können.

    mfg
    kpeter


Anmelden zum Antworten