Lomakkeiden validointi
Vahvista käyttäjän syötteet turvallisuuden ja oikeellisuuden varmistamiseksi
Lomakkeiden validointi on ilmainen PHP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu PHP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. PHP Academy-kurssilla on yhteensä 3 oppituntia.
Lomakesyötteiden validointi ja suojaaminen
Tervetuloa seuraavalle oppitunnille! Tässä oppitunnissa opit validoimaan ja suojaamaan käyttäjän syötteitä varmistaaksesi lomakkeiden tietojen oikeellisuuden ja suojauksen haitallisilta hyökkäyksiltä. Aloitetaan!

Miksi syötteet tulee validoida ja suojata
Miksi syötteet tulee validoida ja suojata?
Lomakesyötteiden validointi ja suojaaminen on tärkeää, jotta voit:
- Varmistaa tietojen oikeellisuuden ja käytettävyyden.
- Suojautua tietoturvauhkilta, kuten SQL-injektioilta ja XSS-hyökkäyksiltä.
Tärkeä huomio: Validoi ja sanitoi käyttäjän syötteet aina ennen niiden käsittelyä tai tallentamista.
Syötteiden validointi
Käytä PHP:n sisäänrakennettuja funktioita yleisten syötteiden validointiin:
filter_var(): Validoi sähköpostiosoitteita, URL-osoitteita ja kokonaislukuja.preg_match(): Validoi syötteitä säännöllisten lausekkeiden avulla.
Esimerkki: sähköpostiosoitteen validointi:
<?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.";
}
}
?>
Syötteiden sanitointi
Sanitoi syötteet poistaaksesi ei-toivotut merkit tai haitallisen koodin. Esimerkki:
Vinkki: Käytä filter_var()-funktiota ja kullekin tietotyypille sopivia suodattimia.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
echo "Sanitized Name: $name";
}
?>
Cross-Site Scriptingin (XSS) estäminen
Escapoi erikoismerkit XSS-hyökkäysten estämiseksi. Käytä:
htmlspecialchars(): Muuntaa erikoismerkit HTML-entiteeteiksi.
Esimerkki:
Vinkki: Escapoi käyttäjän syötteet aina ennen niiden näyttämistä selaimessa.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$comment = htmlspecialchars($_POST["comment"]);
echo "Comment: $comment";
}
?>
SQL-injektioiden estäminen
SQL-injektio tapahtuu, kun SQL-kyselyihisi lisätään haitallista koodia. Käytä sen estämiseen valmisteltuja lauseita. Esimerkki:
Tärkeä huomio: Käytä tietokannan kanssa aina valmisteltuja lauseita.
<?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();
?>
Yleiset validointimallit
Tässä on joitakin yleisiä malleja:
- Puhelinnumeron validointi:
preg_match('/^\d{10}$/', $phone) - Salasanan validointi: Tarkista pituus ja monimutkaisuus.
Esimerkki: vahvan salasanan validointi:
<?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.";
}
}
?>
Tiedostojen lataamisen suojaaminen
Kun lomakkeilla käsitellään tiedostojen lataamista:
- Tarkista tiedostotyyppi ja -koko.
- Tallenna tiedostot suojattuun hakemistoon web-juurihakemiston ulkopuolelle.
Esimerkki:
<?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.";
}
?>
Hienoa työtä!
Onnittelut! Olet oppinut validoimaan ja suojaamaan lomakesyötteitä varmistaaksesi, että verkkosovelluksesi ovat turvallisia ja luotettavia. Seuraavassa oppitunnissa tutustumme tiedostojen lataamisen käsittelyyn PHP:ssä. Jatketaan koodaamista!

Opi PHP 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
- 49
- Oppitunnit
- 195
Usein kysytyt kysymykset
Onko oppitunti ”Lomakkeiden validointi” ilmainen?
Kyllä – oppitunnin ”Lomakkeiden validointi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko PHP Academy-kurssin, päivitä CoddyKit PROhon. PHP Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Lomakkeiden validointi”?
Vahvista käyttäjän syötteet turvallisuuden ja oikeellisuuden varmistamiseksi Harjoittelet PHP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni PHP Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin PHP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.
Kuinka kauan ”Lomakkeiden validointi”-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ä PHP Academy-oppitunnilla?
Kyllä. Jokainen PHP 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
- HTML-lomakkeiden luominen
- Lomaketietojen käsittely PHP:llä
- Lomakkeiden validointi