Toon posts:

[C#] Connection string veilig opslaan

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een applicatie aan het maken waar ik een verbinding maak met een database. De gegevens van deze database moeten aan te passen zijn via de applcatie zelf. Ik het de connection string nu als setting toegevoegd, dit gaat prima alleen kan ik geen manier vinden dat ik hem aan kan passen.
Weet iemand hier misschien een goede oplossing voor?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 21-02 21:56

mulder

ik spuug op het trottoir

Web of windows? Web.config of App.config of registry...

oogjes open, snaveltjes dicht


  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Hebben we het nu over een web applicatie of een windows applicatie?

edit:
Don facundo, doe mij eens niet voor zijn :P

[ Voor 31% gewijzigd door eghie op 17-05-2006 15:00 ]


Verwijderd

Topicstarter
we hebben het over een windows applicatie

  • whoami
  • Registratie: December 2000
  • Laatst online: 21-02 21:21
Wat is veilig ?
Wil je enkel bv het passwoord encrypten, of de volledige connection-string ?

Een connection string sla je best op in de config file (app.config of web.config), en evt kan je 'm encrypten (evt mbhv DPAPI).
Als je gebruik maakt van integrated security (in sql server), dan hoef je ook niet eens usernames en passwords in je connectie string te hebben).

Echter, als je'm in je config file plaatst, kan je 'm normaal gezien niet aanpassen. (Als je gebruik maakt van .NET 2.0 wellicht wel, maar, een app.config file staat in de program files directory, en deze is read-only voor gebruikers die geen administrator zijn.

Waarom moet de connectie string aanpasbaar zijn ? Als je gebruikers zelf moeten kiezen naar welke DB ze connecteren, is het dan geen idee om die connection-string on the fly aan te maken, mbhv de ConnectionStringBuilder class (oid in .NET 2.0).

[ Voor 41% gewijzigd door whoami op 17-05-2006 15:05 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Het is niet de bedoeling dat de gebruikers dit wachtwoord zelf in moeten typen. Ik als beheerder van de applicatie moet bijvoorbeeld het wachtwoord goed in kunnen stellen en dan de executable veilig op kunnen leveren aan anderen.
We maken wel gebruik van .NET 2.
Intergraded security is niet van toepassing.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 20-02 03:31

Gerco

Professional Newbie

Sla die string op in een per-user configfile of in de registry. Encrypten kun je doen door de user een password te laten opgeven en daarmee die string te encrypten. Gebruik diezelfde username/password om in te loggen op de applicatie en je bent vrij goed bezig.

Volgens Microsoft moet je integrated authentication gebruiken (het single-signon principe), volgens mij bied Windows wel wat functies om dingen te encrypten met een per-user key.

[edit]
Als jij zelf het wachtwoord wilt instellen en niet aan de users wilt geven, zul je de encryptiekey met de applicatie moeten meeleveren. Ingecompileerd of als een losse file. Minder veilig, maar tegen nietsvermoedende gebruikers wel voldoende.

[ Voor 23% gewijzigd door Gerco op 17-05-2006 15:14 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 21-01 09:10

giMoz

iets met meester...

ingecompileerde encryptie lijkt me wel redelijk veilig toch???

dan ge-encrypt in de app.config mikken en klaar is kees..

Of niet natuurlijk...

Pagina: 1