Čau lidi,
potřeboval bych poradit kam nebo jak uložit connection string pro aplikaci v C#, která využívá databázi. Jde mi o to, že nechci, aby byl lehce čitelný - např. při uložení connection stringu v app config není problém se se k němu lehce dostat a pak případně zneužít.
Díky za rady
Jara
Fórum › .NET
Uložení connection stringu pro aplikaci v C#
Zdravím,
i když neberu ohled na to, že skrytý ConnectionString bude stejně možné najít, je takové řešení postavené na halvu. Místo toho je třeba řádně zabezpečit aplikaci a databázi.
To djanosik : Asi jsem se špatně vyjádřil. Aplikaci mám zabezpečenou tak, že se do ní nedostane nikdo, kdo nezná přístupové jméno a heslo - tyto údaje jsou zase uložené v db. Takže se potřebuji po spuštění aplikace připojit k db, abych ověřil oprávněnost přístupu. Ale jak mám zabezpečit databázi, když všechny údaje, které potřebuji k připojení k db (včetně hesla) jsou čitelné. Pro info - databáze je uložena na vzdáleném serveru a může ji používat kdokoliv, kdo zná přístupy(není to nijak omezeno na IP apod.), takže když "někdo" přečte app config, tak se potom lehce může k db připojit a změnit/smazat/stáhnout data.
Jara
Ještě to upřesním,
je mi jasné, že mohu uložit connection string přímo do aplikace, což je blbost, protože bych pak pro každého zákazníka musel měnit údaje přímo v kódu. Takže pro "snadné" nastavení potřebuju tyto parametry uchovávat v nějakém konfiguračním souboru. Aby to nebylo možno zneužít, je třeba to zašifrovat nebo jinak znemožnit "vyčtení" connection stringu.
Protože jsem naprostý nováček, tak se učím metodou pokus/omyl, čtením diskusí a různýma radama a tutoriálama na netu. Šlo mi o nějaký "osvědčený" způsob, který se běžně používá. Určitě se s tím už každý z vás zkušenějších programátorů setkal, ale já prozatím ne a nic jsem zatím nenašel, tak zkouším radu u vás :-)
Jara
I kdybys ho uložil do aplikace a nebo ho zašifroval, ničemu by to nepomohlo. Databázová aplikace je vlastně obyčejnej interface postavenej nad DB, zkus tedy hledat takové řešení, abys ty hodnoty nemusel v ConnectionStringu ukládat, ale aby je např. mohl zadat uživatel.
jednoducho pridať vrstvu medzi aplikaciu a databázu, ktorá je "bližšie" k databáze. Niesom expert na databázove systemy, tak neviem povedať nakoľko sa daju nastaviť, ja som si stále vytváral dalšie rozhranie. To ako ho vytvoríš záleží na objeme a type dát, ktoré budeš prenášať. Stále si to nevieš predstaviť ? tak si predstav, že nemáš prístup k databáze, ale k niečomu, čo prístup má a toho úlohou je rozhodovať a zabezpečovať komunikaciu s app.
snaď to aspoň trochu pomohlo. skus konkrétne napísať o čo ide, možno budem užitočnejší ;)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Hledám testery pro on-line aplikaci — založil Lukec
Programování aplikací pro vícejádrové procesory — založil some programer
Zpusob ukladaní dat pro aplikaci v C# — založil ales
Potřebujeme naprogramovat aplikaci pro Corel X6 — založil Danielson
Hledám vývojáře pro iPhone aplikaci — založil Def
Moderátoři diskuze