Connection String in Anwendung einbetten



  • Moin zusammen,

    ich stehe vor der Frage, wie man einen Connection String sicher in eine Anwendung einbetten kann. Wir haben eigentlich folgendes Szenario:

    Unsere Anwendung meldet sich mit einem Standard Benutzer an der Datenbank an. Völlig unabhängig von dem Benutzer der gerade vor dem Rechner sitzt. Nun gibt der Benutzer seinen Namen und sein Passwort ein und ich gehe mit dem Standardbenutzer hin, öffne die Datenbank, gucke in die Benutzertabelle und vergleiche den Benutzernamen und das gehashte Passwort mit dem was in der Tabelle steht. Soweit so gut...Was mich nur stört ist, dass jede Sau aus der Config File den Connection String auslesen kann und, bei Bedarf, einfach mit dem IB Expert beispielsweise eine Verbindung zu unserer Firebird Datenbank herstellen könnte. Das ist zwar noch nicht vorgekommen aber wurscht. Ich habe also einfach den Connection String in der Config entfernt und einen Connection String im Code zusammengebaut. Man sieht nun zwar nicht mehr den direkten String in der Config aber wenn man ein bisschen Grips hat dann scheißt man die exe in ILSpy oder so und ohne lange zu suchen hat man den eigentlichen Datenbankbenutzer inklusive Passwort. Was ich nun benötige sind ein paar Vorschläge wie man auch hier neugierigen Menschen das Leben schwer machen kann. Ich spreche hier von keiner völlig wasserdichten Möglichkeit die NIEMAND knacken kann. Erfahrungsgemäß gibt es das eh nicht. Ich will also nur eine weitere Hürde einbauen.

    Jemand eine Idee?


  • Administrator

    Frage: Gibt es keine Möglichkeit einen externen Server zu erstellen, welcher z.B. eine kleine RESTful API anbietet? Euer Programm sendet z.B. ein JSON File per POST an eine URL, der Server hinter der URL prüft die Daten in der Datenbank und sendet als Antwort ein JSON File zurück.

    So ist der Connection String nicht mehr in eurem Programm, sondern liegt auf dem Server.

    Grüssli



  • Klappt wunderbar!!
    Danke


Anmelden zum Antworten