Apakah kaedah penapisan dan pengesahan data dalam PHP7.0?

WBOY
Lepaskan: 2023-05-27 10:31:45
asal
979 orang telah melayarinya

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");
}
Salin selepas log masuk
  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");
}
Salin selepas log masuk

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;
Salin selepas log masuk

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";
    }
    Salin selepas log masuk
    Sahkan URL
  1. $url = "http://www.example.com";
    if (!filter_var($url, FILTER_VALIDATE_URL)) {
      $urlErr = "Invalid URL";
    }
    Salin selepas log masuk
    Sahkan Integer
  1. $age = $_POST["age"];
    if (!filter_var($age, FILTER_VALIDATE_INT)) {
      $ageErr = "Age must be a number";
    }
    Salin selepas log masuk
    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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan