Back-end: PHP, MySQL
Mirosław Zelent
Mianem back-endu określa się technologie webowe, których kody źródłowe wykonywane są przez procesor serwera (czyli w praktyce przez interpreter danego języka zainstalowany na jego dysku twardym). Jako że skrypty te wykonywane są zdalnie, to rzecz jasna do tych kodów nie może zajrzeć każdy internauta – są jak to mówimy: utajnione (musimy posiadać dostęp do dysku twardego serwera, na przykład dzięki usłudze FTP). Języki back-endowe, takie jak PHP zajmują się mechaniką działania serwisów internetowych i dlatego skrypty te stanowią słodką tajemnicę twórców witryn. Do technologii back-endowych zaliczymy przede wszystkim: PHP i SQL.
Prześledźmy działanie back-endu na przykładzie logowania do Facebooka. Proces logowania przedstawiono na rysunku poniżej:
Rozpocznijmy od prostej realizacji: surfowanie w sieci nie polega tylko na oglądaniu statycznych stron wizytówek. Czasem zechcemy kupić książkę korzystając z koszyka w wirtualnej księgarni, a czasem postanowimy zalogować do serwisu społecznościowego czy skrzynki pocztowej na własne, spersonalizowane konto. Nasz lokalny komputer nie wystarczy do takich działań – to przecież serwer musi nas wpuścić do swojej bazy danych. I dlatego istnieje back-end.
PHP, SQL, MySQL
Pierwszy język back-endowy, z którym będziesz mieć styczność to PHP. Podobnie jak JS, jest to pełnoprawny, skryptowy język programowania, no tyle że wykonywany przez procesor serwera, a nie naszej lokalnej maszyny. PHP obsłuży na serwerze mechanikę (logikę) algorytmu logowania, koszyk w sklepie internetowym, rozbudowę armii w grze przeglądarkowej etc.
Pliki PHP znajdują się tylko na serwerze, w ogóle nie trafią na nasz komputer lokalny. W przypadku logowania wygląda to tak: w naszej przeglądarce uzupełniamy login i hasło i klikamy na przycisk "Zaloguj". W tym momencie następuje komunikacja z serwerem, z użyciem protokołu HTTP i pośredniczącego serwera DNS – tak samo jak poprzednim razem.
Jednak teraz nasz komputer lokalny nie prosi już tylko o przesłanie mu strony głównej – teraz podaliśmy swój login i hasło serwerowi, oczekując że ten wpuści nas na nasze spersonalizowane konto na Facebooku. Na serwerze znajduje się dokument z rozszerzeniem .php, który zostaje wywołany do pracy. Nazwa tego pliku była przypisana do kliknięcia przycisku "Zaloguj" w formularzu logowania. To stąd serwer wiedział, który konkretny skrypt PHP zawołać w tym przypadku do pracy.
I teraz – skrypt logowania odczytuje przesłane przez nas dane dostępowe (oczywiście skrypt ten jest wykonywany przez procesor serwera), po czym łączy się z bazą danych wszystkich użytkowników sprawdzając, czy znajduje się w niej użytkownik o takim loginie i haśle.
Bazę danych obsługuje dla nas technologia MySQL. Jest to tzw. system zarządzania bazą danych DBMS (ang. Database Management System). Natomiast SQL (ang. Structured Query Language) to język, który służy do pisania zapytań do tej bazy (zapytania również umieszczone są wewnątrz tego samego skryptu z rozszerzeniem .php).
Reasumując: PHP łączy się z bazą MySQL, i kieruje do niej – w języku SQL – zapytanie: "Czy w bazie znajduje się użytkownik o takim loginie i haśle?". MySQL sprawdza to i odpowiada "Tak!" lub "Nie" (zależnie czy podaliśmy poprawny login i hasło). Bazy danych to potężne i przede wszystkim szybkie silniki składujące olbrzymie ilości danych – nawet gdybyśmy mieli w bazie setki tysięcy zarejestrowanych użytkowników, to i tak MySQL jest w stanie odpowiedzieć na takie zapytanie SQL w ciągu tysięcznych części sekundy!
W zależności od udzielonej przez MySQL odpowiedzi – PHP musi podjąć decyzję. Jeżeli stało się tak, że dane były poprawne i odpowiedź brzmi "Tak" to do klienta zostaje odesłany spersonalizowany profil – panel boczny z avatarem, tablica postów, chat ze znajomymi. Ale uwaga – w jakich językach przychodzi ta odpowiedź? W HTML, CSS i JavaScript! PHP zawsze generuje odpowiedź w językach front-endowych, gdyż ani jedna linia skryptu logowania nie może trafić do przeglądarki klienta.
Po pierwsze byłby to wyciek naszego tajnego algorytmu logowania, a po drugie przeglądarka potraktowałaby kod PHP jak zwykły tekst! Przeglądarka nie interpretuje w ogóle kodu źródłowego PHP czy SQL, bo nie musi. Przeglądarka ma renderować HTML, CSS i JS! Liniami PHP zajmuje się program – interpreter tego języka, zainstalowany na serwerze, co teraz już rozumiemy w pełni. A teraz pora przyjrzeć się bogactwu różnorodności technologii webowych.
Polecamy: Sekurak Academy 2024
Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp do materiałów z edycji Sekurak Academy z roku 2023! Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat -30% na bilety w wersji "Standard" - warto korzystać! Więcej szczegółów znajdziecie tutaj.
Książka: Wprowadzenie do bezpieczeństwa IT
Niedawno wystartował dodruk świetnej, rozchwytywanej książki pt. "Wprowadzenie do bezpieczeństwa IT, Tom I" (około 940 stron). Mamy dla Was kod: pasja (wpisz go w koszyku), dzięki któremu otrzymacie 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla naszych Widzów! Jest to pierwszy tom serii o ITsec, który wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!
Pomóż dzieciom
Polska Akcja Humanitarna od wielu lat dożywia dzieci. Prosimy, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękujemy!
Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać w komentarzach! Dziękujemy Wam za poświęcony na to czas!
Disqus