Rumah >pembangunan bahagian belakang >PHP7 >Apakah kaedah penapisan dan pengesahan data dalam PHP7.0?

Apakah kaedah penapisan dan pengesahan data dalam PHP7.0?

WBOY
WBOYasal
2023-05-27 10:31:451013semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web dan digunakan untuk pemprosesan data penting, seperti pengesahan data borang dan penapisan input pengguna. Dalam PHP 7.0, terdapat banyak kaedah yang berbeza untuk menapis dan mengesahkan data input. Dalam artikel ini, kami akan meneroka beberapa kaedah utama.

1. Fungsi filter_var()

Fungsi filter_var() ialah fungsi asas dalam PHP7.0 untuk menapis dan mengesahkan data. Fungsi ini membolehkan pembangun menentukan jenis penapis dan mengambil pembolehubah untuk disahkan sebagai input bagi memastikan ia memenuhi beberapa syarat yang ditentukan oleh pembangun. Contohnya, pembangun boleh menggunakan fungsi ini untuk memastikan alamat e-mel diformat dengan betul atau nilai yang dimasukkan berada dalam julat tertentu.

  1. Pengesahan alamat e-mel

Coretan kod berikut menunjukkan cara menggunakan filter_var() untuk mengesahkan bahawa alamat e-mel berada dalam format yang betul:

$email = "test@example.com";
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo("$email is not a valid email address");
} else {
  echo("$email is a valid email address");
}
  1. Pengesahan julat angka

Coretan kod berikut menunjukkan cara menggunakan filter_var() untuk mengesahkan sama ada nilai berada dalam julat yang ditentukan:

$age = 25;
if(!filter_var($age, FILTER_VALIDATE_INT, array("options"=>
    array("min_range"=>18, "max_range"=>60)))) {
  echo("Age is not valid");
} else {
  echo("Age is valid");
}

2 🎜>

Selain pengesahan Selain data input, penapis membenarkan pembangun membersihkan atau membersihkan data untuk mengelakkannya daripada mengandungi kod berbahaya. Penapis berikut boleh digunakan untuk membersihkan data:

    FILTER_SANITIZE_STRING: Bersihkan rentetan, alih keluar tag dan pengekodan daripada aksara khas
  1. FILTER_SANITIZE_EMAIL: Bersihkan e-mel, alih keluar kecuali huruf , nombor dan semua aksara kecuali !#$%&'*+-/=?^_`{|}~@.[].
  2. FILTER_SANITIZE_NUMBER_INT: Bersihkan integer, alih keluar semua aksara daripada rentetan kecuali nombor dan simbol + -.
  3. FILTER_SANITIZE_NUMBER_FLOAT: Bersihkan nombor titik terapung, alih keluar semua aksara daripada rentetan kecuali nombor, +, -, dan e dan E (tanda notasi saintifik).
Kod berikut menunjukkan cara menggunakan FILTER_SANITIZE_STRING untuk sanitasi data

$name = "<h1>John Doe</h1>";
$name = filter_var($name, FILTER_SANITIZE_STRING);
echo $name;

Coretan kod ini akan mengalih keluar teg HTML yang terkandung dalam data input dan hanya mengeluarkan aksara "John Doe".

3. Pengesahan borang

Borang web ialah kaedah yang sangat biasa dalam pembangunan web, jadi pembangun memerlukan cara untuk mengesahkan dengan cepat sama ada data yang diserahkan oleh borang adalah betul. Berikut ialah beberapa kaedah pengesahan borang:

    Sahkan alamat e-mel
  1. $email = test@example.com;
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format";
    }
    Sahkan URL
  1. $url = "http://www.example.com";
    if (!filter_var($url, FILTER_VALIDATE_URL)) {
      $urlErr = "Invalid URL";
    }
    Sahkan Integer
  1. $age = $_POST["age"];
    if (!filter_var($age, FILTER_VALIDATE_INT)) {
      $ageErr = "Age must be a number";
    }
Ringkasan

Penapis dan kaedah pengesahan yang disediakan dalam PHP7.0 adalah sangat praktikal, membolehkan pembangun mengesahkan data mereka dengan cara yang mudah dan pantas. Sama ada anda menulis borang, memproses input atau membersihkan data, kaedah ini boleh memastikan ketepatan dan keselamatan data anda.

Atas ialah kandungan terperinci Apakah kaedah penapisan dan pengesahan data dalam PHP7.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn