Dane do MySQL w aplikacji

0

Zamierzam napisać program odczytujący dane dla użytkownika (logowanie w programie) z bazy MySQL. Baza ma dość poufne dane i tu moje pytanie: jeżeli podam dane do połączenia MySQL (host, użytkownik, hasło) to czy będzie to bezpieczne? Czy da się to jakoś scrackować i wyciągnąć dane do mojej bazy? Proszę o rozjaśnienie tematu.

0

jak to zapiszesz jako zwykły tekst w aplikacji to będzie to kilka kliknięć myszką, jak to w jakiś sposób zaszyfrujesz może być trochę trudniej ale jeśli połączenie do bazy jest nieszyfrowane to też nie będzie to problem (nawet nie trzeba się bawić w grzebanie w exe) natomiast jak połączenie jest szyfrowane i dane są zaszyfrowane to trzeba będzie wyciągnąć najpierw algorytm szyfrowania z exe i tyle

0

Czy jest jakis sprawdzony sposob zeby dane byly nie do odszyfrowania? Prosze o wiecej informacji i rad. Potrzebuje napisac program obslugujacy mysql jednak jesli jakas osoba trzecia uzyska dostep do bazy to narazi mnie na spore straty pieniezne.

0

nie ma takiej opcji - jak coś jest zapisane i musi to być odczytane to odczytać to może każdy dostatecznie zmotywowany

0

To po co sa komponenty obslugujace mysql? Przeciez nikt by z nich nie korzystal bo by kazdy zmotywowany wlamywal sie do bazy i np. kasowal dane.

0

szkoda słów...

0

Dzieki za odpowiedz. Jestem zielony w tych sprawach i chcialbym sie dowiedziec....

0

Najlepiej jest korzystać z jakiegoś interfejsu w stylu Twój program -> jakiś język po stronie serwera (Java/PHP/cokolwiek) -> baza MySQL
Czyli, że ten Twój program wysyła jakieś dane do skryptu po stronie serwera (te dane to są np.identyfikator użytkownika, hash jego hasła i coś tam, co ma być zapisane do bazy danych - nie przesyła jednak danych logowania do niej); skrypt waliduje dane i odpowiednio modyfikuje bazę danych.
Dzięki temu nikt nie wykradnie Ci hasła do niej.

0

Dodam jeszcze, że tutaj jakimś wyjściem z sytuacji są serwery aplikacji (choćby WCF na przykład). Jednak jest to tylko połowiczne rozwiązanie bo o ile nie ma się dostępu wprost do danych to i tak można dużo napsuć jak się ktoś uprze a programista może mu to jedynie utrudnić przez różne obostrzenia - np. możliwość usunięcia tylko jednego kontrahenta na 10 minut albo logowania kto, co i skąd robił, albo zablokowania połączenia jeśli ktoś chce hurtowo (np. 20 rekordów pod rząd) coś zmienić/usunąć/dodać. Generalnie co kto wymyśli i na co pozwala sama logika aplikacji

0

BTW możesz zabezpieczyć hasło np. w ten sposób (kod wygenerowany przez http://www.stringencrypt.com/ link z http://4programmers.net/Forum/Off-Topic/Oceny_i_recenzje/212084-szyfrowanie_tekstow_i_szyfrowanie_plikow),

// encrypted with www.stringencrypt.com (v1.0.0) [Delphi / Pascal]
var
  // dupa = "mój hiper, super, ultra zajebisty supertajny tekst"
  dupa: array[0..51] of WideChar;
  LbBCX: Integer;
  TgBHt: Integer;
 
begin
 
  dupa[10] := WideChar($F1A0); dupa[7] := WideChar($F1E8);
  dupa[42] := WideChar($F1EE); dupa[40] := WideChar($F1CD);
  dupa[14] := WideChar($F1EB); dupa[35] := WideChar($F1E4);
  dupa[0] := WideChar($F219); dupa[12] := WideChar($F21D);
  dupa[9] := WideChar($F1CF); dupa[2] := WideChar($F21A);
  dupa[30] := WideChar($F1E1); dupa[49] := WideChar($F1EF);
  dupa[13] := WideChar($F20F); dupa[25] := WideChar($F1FA);
  dupa[15] := WideChar($F20F); dupa[50] := WideChar($1578);
  dupa[23] := WideChar($F1BD); dupa[33] := WideChar($F1B3);
  dupa[27] := WideChar($F1FC); dupa[45] := WideChar($F1FB);
  dupa[20] := WideChar($F212); dupa[18] := WideChar($F20F);
  dupa[48] := WideChar($F1EF); dupa[16] := WideChar($F1A6);
  dupa[37] := WideChar($F1F2); dupa[24] := WideChar($F214);
  dupa[6] := WideChar($F21C); dupa[8] := WideChar($F21C);
  dupa[43] := WideChar($F1F8); dupa[36] := WideChar($F1F6);
  dupa[4] := WideChar($F20E); dupa[5] := WideChar($F20E);
  dupa[41] := WideChar($F1F5); dupa[26] := WideChar($F1E2);
  dupa[29] := WideChar($F1F6); dupa[46] := WideChar($F1CB);
  dupa[21] := WideChar($F1E9); dupa[47] := WideChar($F1C6);
  dupa[39] := WideChar($F1F9); dupa[32] := WideChar($F1ED);
  dupa[22] := WideChar($F1F7); dupa[34] := WideChar($F1E5);
  dupa[1] := WideChar($F284); dupa[11] := WideChar($F21A);
  dupa[28] := WideChar($F1F0); dupa[3] := WideChar($F1A9);
  dupa[44] := WideChar($157E); dupa[38] := WideChar($F1F6);
  dupa[19] := WideChar($F1ED); dupa[31] := WideChar($F1E1);
  dupa[17] := WideChar($F1A3);
 
  for TgBHt := 0 to 51 do
  begin
    LbBCX := Ord(dupa[TgBHt]);
    LbBCX := not LbBCX;
    LbBCX := LbBCX + $039E;
    LbBCX := LbBCX - TgBHt;
    LbBCX := LbBCX + TgBHt;
    LbBCX := LbBCX xor $11EA;
    Dec(LbBCX);
    LbBCX := LbBCX + TgBHt;
    dupa[TgBHt] := WideChar(LbBCX);
  end;
 
  ShowMessage(dupa);

1 użytkowników online, w tym zalogowanych: 0, gości: 1