Komunikacja z baza danych

Komunikacja z baza danych
DO
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 213
0

Cześć,
Pisze obecnie stronę/aplikację internetową za pomocą, której można zapisywać się na zajęcia w szkole. Zapisać mogą się na zajęcia kursanci po zalogowaniu/założeniu konta jak też później mieć podgląd do zajęć na, których byli jak tez na które są zapisani w przyszłości. Właściciel szkoły będzie miał wgląd do tego kto i gdzie się zapisał jak też wgląd w pełne dane użytkowników, które udostępnili w profilu do których to bedzie mógł wysyłać informacje mailowo/smsowo w razie potrzeby.

Tak więc pytanie do Was jak i czy zabezpiecza się w takim wypadku komunikacje z bazą danych? Mam na myśli czy potrzebował bym do tego dodatkowego serwera/aplikacji do weryfikacji i obsługi zapytań do bazy danych i wszystko postawić wtedy np na VPS? Czy też można użyć bezpiecznie baz danych do, których dostaje się dostęp wraz z wykupieniem usług hostingowych bez stawiania dodatkowych serwerów baz danych? Aplikacja jest napisana w PHP i jako zabezpieczeń używam obecne dobrodziejstw PDO.

Ewentualnie gdybym chciał mieć pod swoją kontrolą baze np na własnym VPS takiej szkoły to czy zmieniają się wtedy zabezpieczenia czy też wystarczy dane do logowania podmienić na zewnętrzną baze i wszystko dalej działa?

Pytanie nieco z innego działu, ale może ma ktoś od razu taką wiedzę:
Co w przypadku kiedy kilka szkół korzystało by z takiego serwisu to czy sam serwer np MySQL poradziłby sobie z odpowiedziami do tych wszystkich kursantów i obracaniu tymi danymi przez właścicieli szkół?

Nie wiem czy to dobry dział ale pytanie jest dość ogólne odnośnie budowania strony internetowej i potrzeby jej komunikacji z bazą danych więc wybrałem ten a nie inny dział. Dodatkowo mam mało doświadczenia w tego typu rzeczach więc wybaczcie jeżeli pytam o trywialne rzeczy ale nie bardzo potrafiłęm znaleźć w internecie jednoznaczną odpowiedź bo przy małych projektach i poradnikach czasem wszystko pisali lokalnie a przy większych poruszane były róźne dziwne technologie, których jeszcze nie rozumiem i stąd pytanie o ogólne wskazówki w jaką stronę iść :P

pawelpcpawelpc
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 5
2

Zwykła baza MySql postawiona w ramach usługi hostingowej powinna dać wystarczające zabezpieczenie przed niepowołanym dostępem. Ważne, aby dane do logowania przed przesłaniem do bazy zaszyfrować.
Dopóki liczba użytkowników nie będzie szła w tysiące nie będziesz też potrzebował VPS-a. Natomiast jeżeli przewidujesz dużą liczbę użytkowników, to już teraz pomyśl o optymalizacji zapytań do bazy, tak aby minimalizować ich ilość.

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
2

jeśli jest to strona to stawiasz serwer www i mysqla na tej samej maszynie i ustawiasz mysqlowi połączenie tylko z localhost i "po ptokach" - strona się połączy i to ją wystarczy odpowiednio zabezpieczyć przed różnymi atakami (co i tak trzeba zrobić). Oczywiście hasło do bazy to też nie np 1111 tylko coś konkretnego

DO
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 213
0

Ok, dzięki za odpowiedź :) Chciałem się upewnić czy nie musze przypadkiem dodatkowej aplikacji pisać do ogarniania tego. W sumie skoro bazy udostępniane w ramach usług hostingowych są wystarczające do takich celów to mógłbym dane kursantów oraz zapisy trzymać na takowych bazach bo wtedy spada ze mnie odpowiedzialność z te bazy i utrzymanie ich oraz gwarantowania dostępu. Spada też ilość zapytań do głównej bazy danych w której mógł bym się jedynie skupić na kontach administratorów oraz weryfikacji płatności. Może coś w rodzaju, że teoretycznie baza danych i cała strona mogłaby funkcjonować ciągle dla użytkowników z uprawnieniami kursanta (czyli zapisy i wgląd jedynie w swoje dane), natomiast dostęp do funkcji administratora byłby uzyskiwany poprzez jakiś rodzaj weryfikacji jedynie po połączeniu z główną bazą danych?
Jakiś pomysł w takim razie czy aplikacja działająca na takiej zasadzie ma w ogóle sens i jak się do tego zabrać? Ponieważ jak taki właściciel szkoły miałby dostęp do hostingu to po weekendowym kursie sam mógłby wy edytować skrypty tak aby administrator działał bez potrzeby weryfikacji.

Chciałbym poznać trochę teorii przy rozwiązywaniu takich problemów :)

edit: Może kod kluczowych funkcji udostępniany byłby na zasadzie AJAXa i dostęp do nich byłby weryfikowany zewnętrznie z głównego serwera?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.