aplikacja bazo danowa - jak to ugrysc

0

Witam,

To pierwsza moja aplikacja sieciowa i bazodanowa, dlatego chce się poradzić jak podejść do problemu.
Chce napisać aplikację w Delphi która będzie używa do przechowywania informacji, generowania raportów oraz wysyłania e-maili do klientów. Na tej aplikacji ma procować kilka osób więc wymagam blokowanie rekordów oraz
samoczynne wysyłanie e-maili w zależności od tego jak wygląda sytułacja klienta. Chciałbym również żeby osoby
użytkownik nie miał dostępu do informacji odłącznię nazwy użytkownika, hasła do serwera sql i konfiguracji programu.
Myślałem żeby zrobić aplikacje klient-serwer z wykorzystaniem INDY, i zaszyfrować plik konfiguracyjny programu.

Jak dane z serwera SQL maja trafiać do klienta, przez połączenie klienta z serwerem SQL czy przez polaczenie klienta z serwerem(moja aplikacja) a serwera(moja aplikacja) z serwerem SQL. W tej kwestji to NIE MA zielonego pojęcia jakie techniki się stosuję i czy to co napisałem nie jest kompletną bzdurą :)

Pozdrawiam

0

największą bzdurą jest próba wciśnięcia tutaj indy - po co???

Jeśli nie masz pojęcia o aplikacjach bazodanowych to na początek napisz jakąś z "grubym klientem" - na aplikacje wielowarstwowe przyjdzie czas później.

Generalnie nie ma tutaj żadnej magii - wybierasz konkretny silnik BD, następnie szukasz do niego komponentów do połączenia. Opcji jest wiele - od darmowych np. FireBird + IBXy, które są w standardzie w Delphi, czy też darmowy mssql czy oracle + darmowe FreeDAC (AnyDac 1.x) po rozwiązania komercyjne (AnyDAC 2.x).

Następnie trzeba by mieć jakiś projekt bazy, przykładowe dane w niej i możesz zacząć tworzyć program. Jak się podpiąć do BD, jak coś wyświetlić, zmienić, jak zablokować rekord (blokowanie optymistyczne vs pesymistyczne), jak numerować dokumenty to wszystko było - trzeba tylko trochę poszukać, poczytać i popróbować. Jak już to zrobisz to zgłaszaj się z konkretnymi problemami - nikt nie będzie Ci opisywał krok po kroku co i jak napisać bo to jest temat - rzeka

EDIT: zapomnij o BDE, paradoxie, DBFach i innych tego typu wynalazkach. Jeśli ma to działać w sieci to tylko normalny serwer SQLowy.

BTW Serwery darmowe (FB, PostgreSQL) wbrew pozorom bardzo dobrze sobie radzą z bazami rzędu GB - ale trzeba wiedzieć co się robi i wystrzegać się sytuacji, gdzie na klienta ściąga się MILIONY rekordów do grida, których user i tak nie potrzebuje

0

Nie szukam gotowych rozwiązań, jedyne odpowiedniego podejścia do problemu. Jak jeśli chodzi o bezpieczeństwo w przypadku jak aplikacja łączy się przez silnik BD z serwerem SQL. Bo nie chciałbym żeby hasło do bazy było przesyłane w sposób jawny. Ani żeby klient miał do hasło i nazwy użytkownika dostęp.(jak i do całej konfiguracji)

0

jeśli nie chcesz "pokazywać" hasła do BD to jedynie cienki klient i serwer aplikacji. Ale hasło musi znać serwer aplikacji i jeśli nie będzie on "u Ciebie" tylko u klienta to i tak można takie hasło wyciągnąć.

Natomiast wiele baz ma możliwość szyfrowania połączenia, np postgres ma ssl w "standardzie".

Myślę, że źle podchodzisz do sprawy - hasło do BD powinien dostać kupujący razem z dokumentacją choćby po to aby mógł zrobić sobie zestawienie, którego projekt nie przewidział. Oczywiście musi też zostać uświadomiony (i podpisać pisemko, że taką świadomość ma), że jak sobie sam coś sp*** to będzie to tylko jego wina (ale co za problem dać mu usera z uprawnieniami tylko do select)

0

Aplikacje robię dla siebie, potrzebuje ja do swojej pracy. Zrobienie takiej aplikacji pomoże mi bardzo zawodowo tylko musi być bezpieczna na tyle żeby coś konkretnego wyciągnąć trzeba trochę się na męczyć. Baza ma zawierać bardzo poufne dane i użytkownicy mogą się bardzo zmieniać (rotacja pracowników). Chodzi oto że każdy użytkownik działa na pewnych danych np tabela klient zawiera dane wszystkich klientów firmy, a dany użytkownik ma widzieć tylko osoby które on obsługuję. Ograniczenie do SELECT nic by nie wniosło. Pic polega na tym że aplikacja klienta bez wpisania użytkownika do bazy ma nie dawać mu możliwości wyciągnięcia jakiśkolwiek danych.

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