Walidacja formularzy
Weryfikuj dane wprowadzane przez użytkowników pod kątem bezpieczeństwa i poprawności
Walidacja formularzy to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 3 lekcji w sumie.
Walidowanie i zabezpieczanie danych wejściowych
Walidowanie i zabezpieczanie danych wejściowych
Witamy w kolejnej lekcji! W tej lekcji dowiedzą się Państwo, jak walidować i zabezpieczać dane wprowadzane przez użytkowników, aby formularze były poprawne i chronione przed złośliwymi atakami. Zaczynamy!

Dlaczego należy walidować i zabezpieczać dane wejściowe?
Dlaczego należy walidować i zabezpieczać dane wejściowe?
Walidowanie i zabezpieczanie danych wejściowych formularzy ma kluczowe znaczenie, aby:
- Zapewnić poprawność i użyteczność danych.
- Chronić przed zagrożeniami bezpieczeństwa, takimi jak SQL injection i ataki XSS.
Najważniejsza informacja: Zawsze należy walidować i oczyszczać dane wejściowe użytkownika przed ich przetwarzaniem lub zapisaniem.
Walidowanie danych wejściowych
Walidowanie danych wejściowych
Do walidowania typowych danych wejściowych należy używać wbudowanych funkcji PHP:
filter_var(): Waliduje adresy e-mail, adresy URL i liczby całkowite.preg_match(): Waliduje dane wejściowe na podstawie wyrażeń regularnych.
Przykład: Walidowanie adresu e-mail:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST["email"];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Valid email: $email";
} else {
echo "Invalid email address.";
}
}
?>
Oczyszczanie danych wejściowych
Oczyszczanie danych wejściowych
Dane wejściowe należy oczyszczać, aby usuwać niepożądane znaki lub złośliwy kod. Przykład:
Wskazówka: Należy używać funkcji filter_var() z odpowiednimi filtrami dla różnych typów danych.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
echo "Sanitized Name: $name";
}
?>
Zapobieganie atakom Cross-Site Scripting (XSS)
Zapobieganie atakom Cross-Site Scripting (XSS)
Należy escapować znaki specjalne, aby zapobiegać atakom XSS. Służy do tego:
htmlspecialchars(): Konwertuje znaki specjalne na encje HTML.
Przykład:
Wskazówka: Przed wyświetleniem danych użytkownika w przeglądarce należy je zawsze escapować.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$comment = htmlspecialchars($_POST["comment"]);
echo "Comment: $comment";
}
?>
Zapobieganie SQL injection
Zapobieganie SQL injection
SQL injection ma miejsce, gdy złośliwy kod zostanie wstawiony do zapytań SQL. Aby temu zapobiec, należy używać zapytań przygotowanych. Przykład:
Najważniejsza informacja: W przypadku interakcji z bazą danych należy zawsze używać zapytań przygotowanych.
<?php
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "root", "");
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->execute(["username" => $_POST["username"]]);
$user = $stmt->fetch();
?>
Typowe wzorce walidacji
Typowe wzorce walidacji
Oto kilka typowych wzorców:
- Walidowanie numeru telefonu:
preg_match('/^\d{10}$/', $phone) - Walidowanie hasła: Sprawdzenie długości i złożoności.
Przykład: Walidowanie silnego hasła:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$password = $_POST["password"];
if (strlen($password) >= 8 && preg_match('/[A-Z]/', $password)) {
echo "Strong password!";
} else {
echo "Password must be at least 8 characters long and include an uppercase letter.";
}
}
?>
Zabezpieczanie przesyłania plików
Zabezpieczanie przesyłania plików
W przypadku formularzy obsługujących przesyłanie plików należy:
- Sprawdzić typ i rozmiar pliku.
- Przechowywać pliki w bezpiecznym katalogu poza głównym katalogiem serwera WWW.
Przykład:
<?php
if ($_FILES["file"]["size"] < 500000 && in_array($_FILES["file"]["type"], ["image/jpeg", "image/png"])) {
move_uploaded_file($_FILES["file"]["tmp_name"], "/secure/location/" . $_FILES["file"]["name"]);
echo "File uploaded successfully!";
} else {
echo "Invalid file.";
}
?>
Świetna robota!
Świetna robota!
Gratulacje! Nauczyli się Państwo walidować i zabezpieczać dane wejściowe formularzy, aby zapewnić bezpieczeństwo i niezawodność aplikacji internetowych. W następnej lekcji omówimy obsługę przesyłania plików w PHP. Zachęcamy do dalszego kodowania!

Często zadawane pytania
Czy lekcja „Walidacja formularzy” jest bezpłatna?
Tak — pełny tekst „Walidacja formularzy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Walidacja formularzy”?
Weryfikuj dane wprowadzane przez użytkowników pod kątem bezpieczeństwa i poprawności Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.
Ile czasu zajmuje lekcja „Walidacja formularzy”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Tworzenie formularzy HTML
- Obsługa danych formularzy za pomocą PHP
- Walidacja formularzy