Internet

Czym jest PHP i dlaczego warto, by było jak najaktualniejsze

z dnia
Karol Żebruń | Redaktor serwisu benchmark.pl
13 komentarzy Dyskutuj z nami

PHP mimo dwudziestosześcioletniej historii jako oprogramowania wciąż cieszy się ogromną popularnością wśród twórców witryn. Być może i Wy z niego korzystacie. Czy jednak dbacie o to by sprawiało wam jak najmniej błędów?

PHP początkowo był skrótem od Personal Home Page, ale obecnie oznacza to PHP Hypertext Preprocessor. To skryptowy język programowania, którego funkcjonowanie kojarzymy z generowaniem kodu stron internetowych z wykorzystaniem odpowiedzi z baz danych, które są odpytywane za pomocą poleceń stanowiących integralną część PHP.

PHP jest też elementem platformy AMP, intensywnie wykorzystywanej przez serwisy internetowe, a której celem jest maksymalne przyśpieszenie dostępu użytkownika do odpowiednio sformatowanej treści.

PHP powstał w 1994 roku. Dwadzieścia sześć lat później wciąż jest ceniony i szeroko wykorzystywany przez twórców witryn internetowych

W składni PHP odnajdziemy elementy znane z języka C (zapoznaje się z nim chyba każdy młody człowiek, który próbuje programować), Java oraz Perl.

Gdyby nie PHP, internet nie byłby tak dynamicznym tworem

Dzięki PHP witryny internetowe przestały być statycznymi strukturami, które trzeba było ręcznie modyfikować, a żyjącymi dynamicznie dostosowywanymi stronami. Najprostszy przykład to galeria internetowa. Przed czasami PHP trzeba było ręcznie zmienić opisujący ją HTML, gdy twórca witryny dodawał nowe grafiki. Dzięki PHP witryna samodzielnie odświeża swoją zawartość i dostosowuje wygląd na podstawie podanego zestawu danych, który może się dowolnie zmieniać.

PHP nie jest jedynym składnikiem kodu stron internetowych, ale wciąż bardzo chętnie wykorzystywanym. Gdy wyświetlicie sobie podgląd kodu HTML dla dowolnej strony na benchmark.pl to zobaczycie bardzo dużo tagów opisanych parametrami CSS (to z kolei style formatujące wygląd elementów witryny) i wzbogaconych o javaskrypt i inne elementy.

benchmark.pl witryna

Napisanie tego ręcznie zajęłoby wieki, a dzięki PHP użytkownik benchmark.pl dostaje żądaną stronę WWW w ułamku sekundy. Gdy do tego dodać fakt, że na jednej stronie się nie kończy, a mamy dziesiątki, setki inaczej wyglądających stron zależnie od wyboru odwiedzającego nasz serwis, to widać, że bez automatyzacji nie dałoby rady tego zrobić.

Do strony napisanej w PHP można wprowadzić też parametry z zewnątrz, co pomaga funkcjonować na przykład sklepom internetowym. W PHP stworzono Wordpress, jeden z najpopularniejszych CMSów, czyli systemów zarządzania treścią. Pomyślano go jako narzędzie dla blogerów, a dziś nawet duże witryny technologiczne działają na bazie Wordpressa.

Ciemna strona wygody jaką daje PHP?

Te zalety PHP mają też ciemną stronę. Łatwość nauki programowania w PHP, tworzenia kodu, a także dowolność wprowadzenia danych z zewnątrz do generowanej strony, daje ogromne pole do popisu cyberprzestępcom. Wyobraźcie sobie witrynę sklepową, w której w pole wyszukiwania należy wpisać nazwę produktu. Tego oczekuje kod witryny i zwykle tak się dzieje. Piszemy na przykład Playstation 5 i wyskakują nam odpowiedni pozycje z oferty sklepowej.

Błędy w PHP, których jeszcze nie wykryli twórcy, stanowią łakomy kąsek dla cyberprzestępców

Można jednak wprowadzić zamiast spodziewanej nazwy, tekst, który po umieszczeniu w kodzie, zostanie zinterpretowany przez silnik PHP jako coś kompletnie innego. Z zapytania o produkt powstanie prośba o wyświetlenie treści, które dla użytkownika witryny nie powinny być dostępne. Można doprowadzić do uruchomienia dodatkowego szkodliwego kodu z zewnątrz podczas odwiedzania witryny, zmiany przywilejów dla odwiedzającego witrynę, umieszczenia w bazie danych witryny niepożądanych danych.

Dlaczego tak może się stać? Kod PHP, jak zresztą każdego innego języka programowania, polega na stosowaniu znaków specjalnych, które informują jak należy go interpretować. Twórcy PHP dokładają wszelkich wysiłków, by PHP było odporne na błędy lub nielogiczne wystąpienia obiektów w kodzie. Jednak liczba możliwości jest ogromna, a limituje ją tylko ludzka pomysłowość, żeby nie rzec fantazja. A oprogramowanie im bardziej skomplikowane, tym trudniejsze do uodpornienia na wszelkie błędy.

Dlaczego należy dbać o jak najaktualniejsza wersję PHP?

Twórcy PHP wciąż rozwijają język PHP, nie poprzestając na jednej wersji. Obecnie najnowsza wersja tego oprogramowania to 7.4.x. Pierwsza wersja z tej gałęzi opublikowana została rok temu, ale wciąż pojawiają się jej aktualizacje (kolejne numerki w nazwie zamiast x).

Aktualizowanie PHP powinno być nawykiem podobnie jak aktualizowanie innego oprogramowania, którego praca ma wpływ na komputerowe bezpieczeństwo

Webmaster powinien dbać o regularną aktualizację tego oprogramowania. Niesie to ze sobą korzyści związane nie tylko z bezpieczeństwem, ale i uzytecznością witryny. Nowe wersje:

  • usuwają luki w zabezpieczeniach. Zwiększa to ochronę zgromadzonych danych, zapobiega zarażaniu szkodliwym kodem komputerów użytkowników odwiedzających stronę, ogranicza ryzyko rozsyłania spamu poprzez zainfekowane skrypty,
  • poprawiają istniejące funkcjonalności lub dodają nowe,
  • przyspieszają działanie strony internetowej,
  • posiadają wsparcie producentów (twórców). Wprowadzanie zmian w starszych wersjach może być bardziej kłopotliwe lub kosztowne,
  • przy regularnym aktualizowaniu zwykle zachowywana jest zgodność z poprzednią wersją. Przejście ze znacznie starszej do najnowszej wersji może być niemożliwe lub powodować błędy w działaniu strony,
  • stan strony internetowej świadczy o chęci rozwoju jej właściciela i jego podejściu do klientów. Strona internetowa musi zmieniać się pod kątem coraz lepszego dostosowania do oczekiwań użytkowników i wspierania nowych technologii (np. mobilnych),
  • niedostosowanie strony internetowej do aktualnie wspieranych wersji PHP oznacza brak możliwości skorzystania z niektórych dodatków lub wtyczek do oprogramowania.

Pilnowanie aktualności PHP to zadanie dla każdego, kto ma swoją stronę

Mówiąc webmaster mamy na myśli nie tylko osoby zawodowo zajmujące się zarządzaniem witrynami, ale każdego internautę, który zdecydował się na stworzenie kawałka własnego internetu i zdał na wsparcie PHP. Dlatego pilnujmy, by wykorzystywane przez naszą stronę PHP było jak najaktualniejsze. Jeśli korzystacie z usług hostingowych i gotowych projektów, zauważycie trend polegający na wprowadzaniu ograniczeń w bezterminowej obsłudze starszych wersji PHP. Skłaniają one użytkowników do aktualizacji oprogramowania, które wykorzystywane jest do budowy stron WWW.

Źródło: inf. własna

Więcej na temat programowania i witryn internetowych:

Komentarze

13
Zaloguj się, aby skomentować
avatar
Dodaj
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    Kenjiro
    Ależ brednie! Co ma wspólnego aktualność PHP z lukami kodu witryny?!
    Wszystkie punkty, które napisaliście dotyczą kodu witryny, a nie języka (czyli kompilatora/runtime) PHP!
  • avatar
    stud3nt
    Artykuł napisany przez laika.

    "Wprowadzanie złośliwego kodu" - czyli SQL injection. Co to niby ma wspólnego z językiem? Po stronie programisty leży walidacja danych (a zapobieganie takim atakom jest opisane chyba w każdym możliwym kursie PHP). Możliwe też, że autorowi chodziło o funkcję eval() która pozwala wykonać ciąg znaków jako skrypt PHP, ale tutaj też dokumentacja PHP i każdy kurs wyraźnie podkreśla na czerwono, że jest to funkcja bardzo niebezpieczna.

    Dodatkowo warto doprecyzować: aktualizować PHP oczywiście należy, ale trzeba też pilnować wersji głównej. Wiele skryptów napisanych w starych wersjach PHP nie odpali się na nowym interpreterze, ponieważ cała masa funkcji i wyrażeń wyleciały z języka przestarzałe i/lub niebezpieczne.
  • avatar
    adam6056
    PHP to szrot, nikt obecnie chyba nie jest na tyle odważny żeby pisać w tym nową stronę
    Wszystko to Angular/React + Backend w czymś normalnym :P
    -9
  • avatar
    norberts
    Dla wszystkich programistów, którzy nie wiedzą co ma aktualność PHP do luk w witrynie polecam stronę https://www.cvedetails.com/product/128/PHP-PHP.html