Walidacja danych wejściowych i podstawy escapowania
Walidowanie i normalizowanie danych wejściowych za pomocą małych list dozwolonych wartości i zabezpieczeń; escapowanie ryzykownych znaków przed wyświetleniem tekstu
Walidacja danych wejściowych i podstawy escapowania to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 1 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 JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 3 lekcji w sumie.
Najważniejsze informacje
Cel: Sprawić, by dane wejściowe były przewidywalne i bezpieczne.
- Używaj klauzul strażniczych, aby odrzucać nieprawidłowe dane na wczesnym etapie
- Preferuj listy dozwolonych wartości zamiast nieprecyzyjnych reguł
- Normalizuj dane do prostego kształtu
- Escapuj znaki specjalne przed wyświetleniem tekstu

Podstawy walidacji liczb
Dodaj proste warunki ochronne: sprawdź typ i zakres, a następnie znormalizuj dane do wartości końcowej.
// Validate age: number and range guard
function parseAge(input) {
// trim and parse
const n = Number(input);
if (!Number.isFinite(n)) return null; // reject non-numbers
if (n < 0 || n > 130) return null; // reject out-of-range
return Math.floor(n); // normalize to integer
}
console.log("age ok:", parseAge("21"));
console.log("age bad:", parseAge("twenty"));

Escapowanie na potrzeby bezpiecznego wyświetlania
Przed wyświetleniem tekstu użytkownika należy escapować znaki specjalne, aby interfejs traktował go jak zwykły tekst.
// Escape a few risky characters before displaying in HTML contexts
function escapeText(s) {
if (typeof s !== "string") return "";
return s
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">")
.replaceAll("\"", """)
.replaceAll("'", "'");
}
console.log("escaped:", escapeText("<b>Hello & bye</b>"));

Allowlisty w praktyce
W przypadku stałych zbiorów, takich jak kody lub role, należy preferować allowlisty. Należy ujednolicić wielkość liter i odstępy.
// Allowlist example: only certain country codes
const ALLOWED = new Set(["TR", "US", "DE", "GB"]);
function parseCountry(code) {
if (typeof code !== "string") return null;
const up = code.trim().toUpperCase();
if (!ALLOWED.has(up)) return null; // reject unknown
return up; // normalized
}
console.log("country ok:", parseCountry("tr"));
console.log("country bad:", parseCountry("xx"));

Mały walidator obiektu
Należy sprawdzić typ i zakres, a następnie zwrócić znormalizowany kształt, któremu reszta kodu może zaufać.
// Validate a tiny user object and normalize
function validateUser(input) {
if (typeof input !== "object" || input === null) return null;
const nameOk = typeof input.name === "string" && input.name.trim().length >= 1 && input.name.trim().length <= 40;
const ageOk = parseAge(input.age) !== null;
if (!nameOk || !ageOk) return null;
return {
name: input.name.trim(),
age: parseAge(input.age)
};
}
console.log("user ok:", validateUser({ name: " Ayla ", age: "22" }));
console.log("user bad:", validateUser({ name: "", age: "old" }));

Dobre nawyki obronne
Wskazówki:
- Należy przeprowadzać walidację na granicach systemu (dane użytkownika, sieć).
- Należy używać allowlist, zakresów i sprawdzania typów.
- Należy wykonać normalizację raz, a resztę kodu zachować w prostej postaci.
- Przed wyświetleniem tekstu użytkownikom należy go escapować.

Quiz z podstaw bezpiecznego przetwarzania danych wejściowych
Szybkie sprawdzenie: bezpieczny schemat obsługi danych wejściowych.

Podsumowanie
Podsumowanie: należy wcześnie stosować zabezpieczenia, używać allowlist, normalizować dane do bezpiecznego kształtu i escapować je przed wyświetleniem. Każdy krok powinien być mały i czytelny.

Często zadawane pytania
Czy lekcja „Walidacja danych wejściowych i podstawy escapowania” jest bezpłatna?
Tak — pełny tekst „Walidacja danych wejściowych i podstawy escapowania” 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 JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Walidacja danych wejściowych i podstawy escapowania”?
Walidowanie i normalizowanie danych wejściowych za pomocą małych list dozwolonych wartości i zabezpieczeń; escapowanie ryzykownych znaków przed wyświetleniem tekstu Ćwiczysz JavaScript 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ąć JavaScript Academy?
Nie wymagamy żadnego doświadczenia. JavaScript 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 1 z 3.
Ile czasu zajmuje lekcja „Walidacja danych wejściowych i podstawy escapowania”?
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 JavaScript Academy?
Tak. Każda lekcja JavaScript 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
- Walidacja danych wejściowych i podstawy escapowania
- Bezpieczne scalanie obiektów; zamrażanie i uszczelnianie
- Granice błędów (koncepcyjnie) bez frameworków