Syötteiden validointi ja escapauksen perusteet
Validoi ja normalisoi syötteet pienillä sallittujen arvojen listoilla ja tarkistuksilla; escapeta riskialttiit merkit ennen tekstin näyttämistä
Syötteiden validointi ja escapauksen perusteet on ilmainen JavaScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu JavaScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.
Kokonaiskuva
Tavoite: Pitäkää syötteet yksinkertaisina ja turvallisina.
- Käyttäkää guard-lauseita hylätäksenne virheelliset syötteet heti
- Suosikaa epämääräisten sääntöjen sijaan allowlist-listoja
- Normalisoikaa syöte yksinkertaiseen muotoon
- Escapatkaa erikoismerkit ennen tekstin näyttämistä

Lukujen suojauksen perusteet
Lisätkää yksinkertaiset tarkistukset: tyyppitarkistus, arvoalueen tarkistus ja normalisointi lopulliseksi arvoksi.
// 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"));

Escapointi turvallista näyttöä varten
Ennen käyttäjän tekstin näyttämistä escapoi erikoismerkit, jotta käyttöliittymä käsittelee tekstin tavallisena tekstinä.
// 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>"));

Sallittujen listojen käyttö käytännössä
Suosikaa kiinteille joukoille (kuten koodeille tai rooleille) sallittujen listoja. Normalisoikaa kirjainkoko ja välilyönnit.
// 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"));

Pienen olion validointi
Tarkistakaa tyyppi ja rajat, ja palauttakaa sitten normalisoitu muoto, johon muu koodi voi luottaa.
// 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" }));

Hyviä puolustautumiskäytäntöjä
Vinkit:
- Tarkistakaa rajapinnoilla (käyttäjän syöte, verkko).
- Käyttäkää sallittujen listoja, alueita ja tyyppitarkistuksia.
- Normalisoikaa kerran ja pitäkää muu koodi yksinkertaisena.
- Escapokaa teksti ennen sen näyttämistä käyttäjille.

Turvallisen syötteen perusteiden tietovisa
Pikatarkistus: turvallinen syötekuvio.

Kertaus
Kertaus: Suojatkaa syöte ajoissa, käyttäkää sallittujen listoja, normalisoikaa turvalliseen muotoon ja tehkää escapointi ennen näyttöä. Pitäkää jokainen vaihe pienenä ja helposti luettavana.

Opi JavaScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 59
- Oppitunnit
- 200
Usein kysytyt kysymykset
Onko oppitunti ”Syötteiden validointi ja escapauksen perusteet” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa JavaScript Academy-oppimispolun 3 oppituntia, myös oppitunnin “Syötteiden validointi ja escapauksen perusteet”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. JavaScript Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Syötteiden validointi ja escapauksen perusteet”?
Validoi ja normalisoi syötteet pienillä sallittujen arvojen listoilla ja tarkistuksilla; escapeta riskialttiit merkit ennen tekstin näyttämistä Harjoittelet JavaScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni JavaScript Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin JavaScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”Syötteiden validointi ja escapauksen perusteet”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä JavaScript Academy-oppitunnilla?
Kyllä. Jokainen JavaScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Syötteiden validointi ja escapauksen perusteet
- Objektien turvallinen yhdistäminen, jäädyttäminen ja sinetöinti
- Virherajat ilman frameworkeja — käsitteellinen johdanto