Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Systemy CMS i narzędzia webowe JavaScript PHP

Walidacja pól formularza polega na sprawdzeniu

A. czy użytkownik jest zalogowany.
B. który użytkownik wprowadził dane.
C. czy wprowadzone dane spełniają określone reguły.
D. czy istnieje plik PHP, który odbierze dane.

Pytanie z egzaminu CKE, styczeń 2021 (arkusz EE.09-SG-21.01).

Walidacja pól formularza polega właśnie na sprawdzeniu, czy wprowadzone dane spełniają określone reguły. Chodzi o to, żeby aplikacja nie przyjmowała byle czego, tylko dane w przewidywalnym i bezpiecznym formacie. Przykładowo pole e-mail powinno zawierać adres e-mail, hasło może mieć minimalną długość, numer telefonu powinien składać się z cyfr, a pole wymagane nie może zostać puste. W praktyce robi się to często po stronie przeglądarki, np. w HTML5 albo JavaScript, żeby użytkownik od razu dostał komunikat, ale moim zdaniem najważniejsza jest walidacja po stronie serwera, np. w PHP. Dane z formularza można łatwo zmienić w narzędziach deweloperskich albo wysłać ręcznie, więc nie wolno ufać tylko front-endowi. Dobre praktyki branżowe mówią, że trzeba sprawdzać typ danych, długość, zakres wartości, format oraz wymagane pola. Walidacja jest też blisko związana z bezpieczeństwem, bo pomaga ograniczać błędy, spam, niepoprawne rekordy w bazie i część prób ataków, choć sama nie zastępuje filtrowania, sanityzacji i zabezpieczeń SQL.
Walidacja formularza bywa mylona z innymi etapami obsługi aplikacji webowej, ale to są różne rzeczy. Sprawdzenie, czy użytkownik jest zalogowany, dotyczy uwierzytelniania i kontroli dostępu. To ważne, bo niektóre formularze powinny być dostępne tylko dla konkretnych osób, ale samo zalogowanie użytkownika nie mówi nic o tym, czy wpisał poprawny adres e-mail, zbyt krótkie hasło albo tekst w polu, gdzie powinien być numer. Z mojego doświadczenia to częsty błąd: ktoś widzi formularz w panelu użytkownika i zakłada, że skoro jest sesja, to dane są już okej. No niestety, nie są. Ustalenie, który użytkownik wprowadził dane, to raczej kwestia sesji, identyfikatora użytkownika, logowania zdarzeń albo powiązania rekordu w bazie danych z kontem. To może być potrzebne przy audycie i odpowiedzialności za zmiany, ale nadal nie sprawdza jakości danych. Również istnienie pliku PHP odbierającego dane nie jest walidacją. To tylko element architektury aplikacji, czyli endpoint lub skrypt obsługujący żądanie POST albo GET. Plik może istnieć i działać, a mimo to przyjmować puste pola, zły format daty albo podejrzane znaki. Poprawne myślenie jest takie: formularz wysyła dane, skrypt je odbiera, a walidacja sprawdza zgodność z regułami biznesowymi i technicznymi. Dopiero potem dane można bezpieczniej przetwarzać, zapisywać lub pokazywać użytkownikowi komunikaty o błędach.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.