Cezikos Temat założony przez niniejszego użytkownika |
Problem SQL czy SQLite » 2013-09-03 20:20:42 Zacząłem uczyć się programować w C++ i postanowiłem napisać konkretny program. Rozplanowałem sobie już co ma posiadać i jak ma działać. Stanąłem nad wyborem bazy danych. - SQL będę miał automatyczne aktualizacje danych live, gdyż program będzie pobierał z serwera i sama aktualizacja danych na serwerze będzie prosta. Niestety będzie konieczny zakup za $$ na dłuższą metę. (Możliwe ataki DDOS, zużycie transferu) - SQLite dane będą pobierane jednorazowo po jakimś update(przez program) czyli baza będzie stara i uciążliwe dla mnie dodawanie nowych rekordów. Używałbym coś w stylu DropBox
Podałem plusy i minusy, ale co mnie najbardziej dręczy ? Bezpieczeństwo danych dostępowych do SQL. Czy jest jakaś 100% pewność, aby podając w programie dane do bazy nikt ich nie ukradł ? Istnieje takie zabezpieczenie ?
Myślałem nad tym żeby napisać skrypt w PHP, który będzie wywoływał dany rekord publicznie po podaniu ID obiektu. ID będzie publiczne i dane także będą publiczne.
Sorki za zawiłość w pisaniu ;) |
|
akwes |
» 2013-09-03 20:24:34 A dlaczego chcesz koniecznie wysyłać całą bazę? Realizuj jedynie zapytania do bazy. Wtedy użytkownik nie będzie dostawał tego, czego mu nie wolno (oczywiście, sprawdzając uprawnienia danego użytkownika do zadanego zapytania). |
|
Cezikos Temat założony przez niniejszego użytkownika |
» 2013-09-03 20:29:28 Cała zawartość bazy będzie publiczna. Nie będzie tam nic do czego użytkownik nie miałby dostępu. Chodzi mi o to, że gdy w C++ w programie zapiszę dane dostępu do serwera czyt. login, hasło do bazy to czy ktoś podstępny łamiąc progam może te dane wykraść? Jeżeli tak to jak to zabezpieczyć ?
Na początek nie będzie konieczności logowania przez użytkownika. Program tego nie wymaga do działania. |
|
akwes |
» 2013-09-03 20:33:15 Tak da się wykraść i nie, nie da się tego zabezpieczyć w 100%.
Po prostu stwórz w bazie użytkownika z prawami wyłącznie do odczytu wybranych danych, wtedy bez różnicy czy ktoś będzie korzystał przez Twój program, czy zaloguje się normalnie i tak nie da rady zrobić nic więcej. |
|
Cezikos Temat założony przez niniejszego użytkownika |
» 2013-09-03 20:43:51 Jeżeli dobrze zrozumiałem to najbezpieczniejszą opcją będzie "System logowania". Hmm... Nie wiem jak to będzie wyglądać w C++ :D. W PHP jeszcze coś łykam. Odnośnie SQL nic na tej stronie nie znalazłem chyba, że źle szukam... Możecie coś polecić ? (Jakieś wskazówki jak to zrealizować) |
|
akwes |
» 2013-09-03 20:47:08 W bazie SQL czy też SQLite masz możliwość dodawania użytkowników. Jest root, który może wszystko i który może stworzyć użytkownika, który będzie miał wyłącznie prawa odczytu. Z tego użytkownika (będzie miał swój login i pass) korzystasz w programie, dla wszystkich wersji. Po prostu zrobisz dokładnie to samo co teraz, tylko zamiast użytkownika, który może usunąć wszystko, skorzystasz z innego.
//Edit Dodać i ustawić prawa będzie Ci najłatwiej przez phpmyadmin jeżeli masz taką możliwość. Jeżeli nie, to google też wskazuje jasną drogę. |
|
Cezikos Temat założony przez niniejszego użytkownika |
» 2013-09-03 20:52:04 Dzięki załapałem wsio ;)(Wystarczy dać użytkownika, który będzie tylko odczytywał ?). Teraz pora zacząć eksperymentować. Odnośnie ataków DDOS na serwer, gdy istnieje sama baza danych, często takie występują ? |
|
akwes |
» 2013-09-03 20:56:21 Wystarczy dać użytkownika, który będzie tylko odczytywał
|
Jeżeli Ci na tym zależy aby bezpośrednio się łączyć z bazą. Zawsze możesz też stworzyć skrypt w PHP pośredniczący w komunikacji aplikacja <-> serwer. Odnośnie ataków DDOS na serwer, gdy istnieje sama baza danych, często takie występują ?
|
Liczba ataków DDOS jest wprost proporcjonalna do ilości wrednych użytkowników. Ciężko o konkretne liczby, bo to też zależy od zamożności wrednego użytkownika. Za 1000 dolarów można ubić naprawdę bardzo wiele serwisów. |
|
« 1 » 2 |