0Pricing
PHP Academy · Pelajaran

Validasi Formulir

Validasi masukan pengguna demi keamanan dan ketepatan

Validasi Formulir adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 3 pelajaran total.

Memvalidasi dan Mengamankan Masukan Formulir

Memvalidasi dan Mengamankan Masukan Formulir

Selamat datang di pelajaran berikutnya! Dalam pelajaran ini, Anda akan mempelajari cara memvalidasi dan mengamankan masukan pengguna untuk memastikan formulir Anda akurat dan terlindungi dari serangan berbahaya. Mari kita mulai!

Validasi Formulir — ilustrasi 1

Mengapa Masukan Perlu Divalidasi dan Diamankan?

Mengapa Masukan Perlu Divalidasi dan Diamankan?

Memvalidasi dan mengamankan masukan formulir sangat penting untuk:

  • Memastikan keakuratan dan kemudahan penggunaan data.
  • Melindungi dari ancaman keamanan seperti injeksi SQL dan serangan XSS.

Poin Penting: Selalu validasi dan bersihkan masukan pengguna sebelum memproses atau menyimpannya.

Memvalidasi Masukan

Memvalidasi Masukan

Gunakan fungsi bawaan PHP untuk memvalidasi masukan umum:

  • filter_var(): Memvalidasi email, URL, dan bilangan bulat.
  • preg_match(): Memvalidasi masukan berdasarkan ekspresi reguler.

Contoh: Memvalidasi alamat email:

<?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.";
    }
  }
?>

Membersihkan Masukan

Membersihkan Masukan

Bersihkan masukan untuk menghapus karakter yang tidak diinginkan atau kode berbahaya. Contoh:

Tips: Gunakan filter_var() dengan filter yang sesuai untuk berbagai jenis data.

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
    echo "Sanitized Name: $name";
  }
?>

Mencegah Skrip Lintas Situs (XSS)

Mencegah Skrip Lintas Situs (XSS)

Ubah karakter khusus menjadi bentuk aman untuk mencegah serangan XSS. Gunakan:

  • htmlspecialchars(): Mengubah karakter khusus menjadi entitas HTML.

Contoh:

Tips: Selalu ubah masukan pengguna menjadi bentuk aman sebelum menampilkannya di peramban.

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $comment = htmlspecialchars($_POST["comment"]);
    echo "Comment: $comment";
  }
?>

Mencegah Injeksi SQL

Mencegah Injeksi SQL

Injeksi SQL terjadi ketika kode berbahaya disisipkan ke dalam kueri SQL Anda. Gunakan pernyataan terparametrisasi untuk mencegahnya. Contoh:

Poin Penting: Selalu gunakan pernyataan terparametrisasi untuk interaksi dengan basis data.

<?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();
?>

Pola Validasi Umum

Pola Validasi Umum

Berikut beberapa pola umum:

  • Memvalidasi nomor telepon: preg_match('/^\d{10}$/', $phone)
  • Memvalidasi kata sandi: Periksa panjang dan kerumitannya.

Contoh: Memvalidasi kata sandi yang kuat:

<?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.";
    }
  }
?>

Mengamankan Unggahan Berkas

Mengamankan Unggahan Berkas

Untuk formulir yang menangani unggahan berkas:

  • Periksa jenis dan ukuran berkas.
  • Simpan berkas di direktori aman di luar direktori akar web.

Contoh:

<?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.";
  }
?>

Bagus sekali!

Bagus sekali!

Selamat! Anda telah mempelajari cara memvalidasi dan mengamankan masukan formulir untuk memastikan aplikasi web Anda aman dan andal. Pada pelajaran berikutnya, kita akan mempelajari cara menangani unggahan berkas dalam PHP. Mari terus menulis kode!

Validasi Formulir — ilustrasi 10

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Validasi Formulir” gratis?

Ya — teks lengkap “Validasi Formulir” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Validasi Formulir”?

Validasi masukan pengguna demi keamanan dan ketepatan Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.

Berapa lama pelajaran “Validasi Formulir” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat Formulir HTML
  2. Menangani Data Formulir dengan PHP
  3. Validasi Formulir
← Kembali ke PHP Academy