Penapis PHP

PHPz
PHPzasal
2024-08-29 13:03:46750semak imbas

Terdapat sangat sedikit bahasa yang mempunyai ciri penapis. Penapis adalah salah satu ciri nilai tambah bahasa pengaturcaraan. Ini membantu kami menapis data atau rentetan sebelum memproses. Inilah panggilan masa untuk menggunakan ini untuk mengelakkan beberapa isu kelemahan dalam sistem. Penapis PHP boleh digunakan untuk mengesahkan atau membersihkan input luaran. Penapis PHP adalah sambungan dengan pelbagai fungsi dan ciri yang boleh kita gunakan semasa pengekodan. Contohnya, jika kami mengambil input pelanggan daripada borang sebagai id e-mel, kami harus mengesahkan atau membersihkannya sebelum operasi berkaitan pangkalan data. Sebagai pengekod atau pembangun, kita harus menggunakan penapis ini dalam PHP mengikut keperluan dan keperluan perniagaan kita.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks

Pembersih dan penapis ialah operasi yang paling biasa dalam persekitaran aplikasi web. Berikut ialah sintaks asas:

filter_var(variable, filter, options)

Fungsi filter_var ini mengambil 3 parameter. 2 parameter terakhir, penapis dan pilihan adalah pilihan. Yang pertama ialah pembolehubah atau pengecam itu sendiri. Ini adalah satu, kami ingin menapis, yang kedua ialah apa yang kami mahu lakukan (dalam ini, kami lulus ID pilihan yang tersedia dalam PHP), dan yang terakhir ialah pilihan berkaitan penapis. Mari kita fahami perkara yang sama dengan contoh kuiz:

Kod:

<?php
$int_val = 200;
if(filter_var($int_val, FILTER_VALIDATE_INT)){
echo "The <b>$int_val</b> is a valid one."; // valid
} else{
echo "The <b>$int_val</b> not a valid input as an integer"; // invalid
}
?>

Dalam contoh di atas, kami menggunakan penapis dan menyemak sama ada kami mempunyai nilai integer dalam pembolehubah $int_val. Jadi, inilah output untuk perkara yang sama.

Output:

Penapis PHP

Mengapa kami Menggunakan Penapis dalam PHP?

Banyak aplikasi web PHP menerima input luaran daripada pihak pelanggan. Ideanya adalah untuk membersihkan input pengguna sebelum memproses, kerana kami tidak boleh mengharapkan pengguna untuk meletakkan semua data dengan betul. Mana-mana pengguna luaran atau input sistem atau data boleh membawa kepada isu keselamatan yang kritikal.

Kami boleh menapis di sini untuk membersihkan data yang dimasukkan daripada pelbagai sumber luaran seperti:

  • Input pengguna pelanggan langsung daripada borang
  • Data Kuki
  • Data daripada perkhidmatan Web
  • Data pembolehubah pelayan
  • Hasil pertanyaan pangkalan data

Bersama-sama, penapis dan sanitizer PHP membolehkan kami mengetahui sama ada input itu sah. Jika bukan input yang sah, dalam kes ini, kita boleh membersihkannya untuk menjadikannya sah. Dalam bahagian contoh yang akan datang, kita akan membincangkan pelbagai contoh yang berkaitan dengan ini.

Contoh Penapis dalam PHP

Terdapat pelbagai jenis penapis tersedia dalam PHP. Kita boleh menyemak senarai itu menggunakan fungsi filter_list(). Fungsi ini menapis URL, Rentetan, nombor, alamat IP, dll.

Contoh #1

Dalam bahagian ini, kita akan melihat pelbagai program contoh penapis secara individu.

Bersihkan Rentetan

Untuk menyemak sama ada rentetan itu sah atau tidak

Kod:

<?php
$comment = "Hello word";
if(filter_var($comment, FILTER_SANITIZE_STRING)){
echo "The <b>$comment</b> is a valid one."; // valid
} else{
echo "The <b>$comment</b> not a valid input"; // invalid
}
?>

Dalam contoh di atas, kita dapat melihat rentetan yang sah; itulah sebabnya ia memberikan yang sah.

Output:

Penapis PHP

Dapatkan rentetan yang telah dibersihkan sebagai output

<?php
$comment = "<i>Hello word</i>";
echo "Before sanitizing: ". $comment;
$comment = filter_var($comment, FILTER_SANITIZE_STRING);
echo "<br>"; // for new line
echo "After sanitizing: ". $comment;
?>

Kita dapat lihat kita mempunyai dua output berbeza. Kita boleh lihat output sebelum dan selepas sanitasi adalah berbeza. Selepas membersihkan, teg HTML telah dialih keluar oleh fungsi penapis PHP.

Output:

Penapis PHP

Contoh #2

Sahkan Alamat IP

Fungsi penapis PHP boleh melakukan kerja ini untuk kami. Mari lihat contoh.

Kod:

<?php
$ip_address = "172.16.254.1:40";
if(filter_var($ip_address, FILTER_VALIDATE_IP)){
echo "The <b>$ip_address</b> is a valid one."; // valid
} else{
echo "The <b>$ip_address</b> is not a valid input"; // invalid
}
?>

Output:

Penapis PHP

Contoh #3

Membersihkan dan mengesahkan alamat e-mel

Kod:

<?php
$email_address = "someone@@testmail.com";
code>
echo "Before Sanitizing: " . $email_address ."<br>";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL)){
echo "The <b>$email_address</b> is a valid one."; // valid
} else{
echo "The <b>$email_address</b> not a valid input"; // invalid
}
echo "<br>";
echo "After Sanitizing: " .  filter_var($email_address, FILTER_SANITIZE_EMAIL);
?>

Dalam contoh di atas, kami mempunyai nilai id e-mel yang tidak sah, kerana kami mendapat output ini dengan menggunakan fungsi penapis. Tetapi apabila kami membersihkan, ia memberikan e-mel yang betul.

Output:

Penapis PHP

Kod:

<?php
$email_address = "[email protected]";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL)){
echo "The <b>$email_address</b> is a valid one."; // valid
} else{
echo "The <b>$email_address</b> not a valid input"; // invalid
}
?>

Dalam contoh kod PHP di atas, kami menyemak sama ada e-mel itu sah.

Output:

Penapis PHP

Contoh #4

Sanitize dan Sahkan URL

Dalam contoh ini, kita akan melihat sama ada URL input adalah sah. Jika bukan URL yang sah, ia akan membersihkannya untuk membetulkannya.

Kod:

<?php
$URL = "https://www.educba.com/��courses�";
echo "Before Sanitizing: " . $URL ."<br>";
if(filter_var($URL, FILTER_VALIDATE_URL)){
echo "The <b>$URL</b> is a valid one."; // valid
} else{
echo "The <b>$URL</b> is not a valid input"; // invalid
}
echo "<br>";
echo "After Sanitizing: " . filter_var($URL, FILTER_SANITIZE_URL);
?>

Output:

Penapis PHP

Kesimpulan

Kita harus menggunakan penapis PHP untuk mengesahkan atau membersihkan input pengguna. Dengan cara ini, kami boleh menyekat input pengguna yang terdedah. Kita boleh menggunakan pelbagai fungsi penapis PHP untuk mengesahkan input pengguna dan nilai. Kami juga boleh menggunakan sanitasi untuk membersihkan nilai (sama ada input pengguna atau yang diberikan secara langsung). Kita hendaklah sentiasa menggunakan sanitizer PHP sebelum menggunakan sebarang data kuki untuk pemprosesan data.

Atas ialah kandungan terperinci Penapis PHP. 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
Artikel sebelumnya:Pembayang Jenis PHPArtikel seterusnya:Pembayang Jenis PHP