PHP Academy · Pelajaran

Pengesahan Borang

Sahkan masukan pengguna demi keselamatan dan ketepatan

Pelajaran 3 daripada 310 langkah

Pengesahan Borang ialah pelajaran PHP Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 3. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PHP Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PHP Academy merangkumi sejumlah 3 pelajaran.

Mengesahkan dan Melindungi Input Borang

Selamat datang ke pelajaran seterusnya! Dalam pelajaran ini, anda akan mempelajari cara mengesahkan dan melindungi input pengguna bagi memastikan borang anda tepat serta terlindung daripada serangan berniat jahat. Mari mulakan!

Pengesahan Borang — ilustrasi 1

Mengapa Input Perlu Disahkan dan Dilindungi?

Pengesahan dan perlindungan input borang amat penting untuk:

  • Memastikan ketepatan dan kebolehgunaan data.
  • Melindungi daripada ancaman keselamatan seperti suntikan SQL dan serangan XSS.

Perkara Penting: Sentiasa sahkan dan bersihkan input pengguna sebelum memproses atau menyimpannya.

Mengesahkan Input

Gunakan fungsi terbina dalam PHP untuk mengesahkan input biasa:

  • filter_var(): Mengesahkan e-mel, URL dan nombor bulat.
  • preg_match(): Mengesahkan input berdasarkan ungkapan nalar.

Contoh: Mengesahkan alamat e-mel:

<?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 Input

Bersihkan input untuk membuang aksara yang tidak dikehendaki atau kod berbahaya. Contoh:

Petua: Gunakan filter_var() dengan penapis yang sesuai untuk jenis data yang berbeza.

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

Mencegah Penskripan Rentas Tapak (XSS)

Lakukan pelolosan terhadap aksara khas untuk mencegah serangan XSS. Gunakan:

  • htmlspecialchars(): Menukarkan aksara khas kepada entiti HTML.

Contoh:

Petua: Sentiasa lakukan pelolosan terhadap input pengguna sebelum memaparkannya dalam pelayar.

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

Mencegah Suntikan SQL

Suntikan SQL berlaku apabila kod berniat jahat disisipkan ke dalam pertanyaan SQL anda. Gunakan pernyataan disediakan untuk mencegahnya. Contoh:

Perkara Penting: Sentiasa gunakan pernyataan disediakan untuk interaksi dengan pangkalan 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();
?>

Corak Pengesahan Biasa

Berikut ialah beberapa corak biasa:

  • Mengesahkan nombor telefon: preg_match('/^\d{10}$/', $phone)
  • Mengesahkan kata laluan: Periksa panjang dan kerumitannya.

Contoh: Mengesahkan kata laluan yang kukuh:

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

Melindungi Muat Naik Fail

Untuk borang yang mengendalikan muat naik fail:

  • Periksa jenis dan saiz fail.
  • Simpan fail dalam direktori selamat di luar 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.";
  }
?>

Syabas!

Tahniah! Anda telah mempelajari cara mengesahkan dan melindungi input borang bagi memastikan aplikasi web anda selamat dan boleh dipercayai. Dalam pelajaran seterusnya, kita akan meneroka cara mengendalikan muat naik fail dalam PHP. Mari terus menulis kod!

Pengesahan Borang — ilustrasi 10
Percuma untuk bermula

Pelajari PHP dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
49
Pelajaran
195

Soalan Lazim

Adakah pelajaran “Pengesahan Borang” percuma?

Ya — teks penuh “Pengesahan Borang” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PHP Academy, tingkat taraf kepada CoddyKit PRO. Kursus PHP Academy merangkumi sejumlah 3 pelajaran.

Apakah yang akan saya pelajari dalam “Pengesahan Borang”?

Sahkan masukan pengguna demi keselamatan dan ketepatan Anda berlatih PHP Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan PHP Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran PHP Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 3.

Berapa lamakah pelajaran “Pengesahan Borang” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mencipta Borang HTML
  2. Mengendalikan Data Borang dengan PHP
  3. Pengesahan Borang
← Kembali ke PHP Academy