Rumah >pembangunan bahagian belakang >tutorial php >Gunakan fungsi PHP 'filter_var' untuk mengesahkan dan menapis nilai pembolehubah

Gunakan fungsi PHP 'filter_var' untuk mengesahkan dan menapis nilai pembolehubah

WBOY
WBOYasal
2023-07-26 14:13:101203semak imbas

Gunakan fungsi PHP "filter_var" untuk mengesahkan dan menapis nilai pembolehubah

Apabila menulis kod PHP, kita selalunya perlu mengesahkan dan menapis nilai pembolehubah yang dimasukkan oleh pengguna. Ini sangat penting kerana input pengguna mungkin mengandungi kod berniat jahat atau kandungan haram, yang boleh membawa kepada lubang keselamatan atau ralat program. Untuk mengelakkan masalah ini, PHP menyediakan fungsi "filter_var" yang berkuasa dan mudah untuk mengesahkan dan menapis nilai pembolehubah.

Fungsi filter_var menggunakan penapis untuk menyemak dan membaiki input pengguna bagi memastikan ia memenuhi piawaian atau keperluan yang ditetapkan. Berikut ialah beberapa jenis penapis biasa:

  1. FILTER_VALIDATE_INT - Mengesahkan integer
  2. FILTER_VALIDATE_FLOAT - Mengesahkan nombor titik terapung
  3. FILTER_VALIDATE_EMAIL - Mengesahkan alamat e-mel
  4. VALIDATE_URL - Mengesahkan alamat e-mel
  5. FILTER_SANITIZE_STRING - Alih keluar tag dan aksara khas , hanya simpan rentetan
  6. FILTER_SANITIZE_ENCODED - rentetan dikodkan URL
  7. FILTER_SANITIZE_NUMBER_INT - alih keluar semua aksara bukan angka
  8. FILTER_SANITIZE_EMAIL - alih keluar aksara haram dalam alamat e-mel
  9. L_SANITIZEFILTER - keluarkan aksara haram dalam URL
L_SANITIZEFILTER

Berikut adalah contoh, Menunjukkan caranya untuk menggunakan fungsi filter_var untuk mengesahkan dan menapis nilai pembolehubah:

<?php
$name = "John Doe";
$email = "john.doe@example.com";
$age = "25";
$url = "http://www.example.com";
$phone = "1234567890";

// 验证和过滤姓名
if (!filter_var($name, FILTER_SANITIZE_STRING)) {
    echo "姓名无效";
} else {
    echo "有效姓名:".$name;
}

echo "<br>";

// 验证和过滤邮箱
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "邮箱地址无效";
} else {
    echo "有效邮箱地址:".$email;
}

echo "<br>";

// 验证和过滤年龄
if (!filter_var($age, FILTER_VALIDATE_INT)) {
    echo "年龄无效";
} else {
    echo "有效年龄:".$age;
}

echo "<br>";

// 验证和过滤URL
if (!filter_var($url, FILTER_VALIDATE_URL)) {
    echo "URL无效";
} else {
    echo "有效URL:".$url;
}

echo "<br>";

// 过滤电话号码
$filteredPhone = filter_var($phone, FILTER_SANITIZE_NUMBER_INT);
echo "过滤后的电话号码:".$filteredPhone;

?>

Kod di atas mula-mula mentakrifkan beberapa pembolehubah, mewakili nama, e-mel, umur, URL dan nombor telefon. Fungsi filter_var kemudiannya digunakan untuk mengesahkan dan menapis nilai pembolehubah ini berdasarkan jenis penapis yang ditentukan. Akhir sekali, mesej yang sepadan dikeluarkan berdasarkan hasil pengesahan.

Dengan menggunakan fungsi filter_var, kami boleh mengesahkan dan menapis nilai pembolehubah dengan mudah untuk memastikan ia memenuhi jangkaan kami. Ini bukan sahaja meningkatkan keselamatan program kami, tetapi juga meningkatkan kestabilan dan kebolehpercayaannya.

Ringkasnya, adalah amalan pengaturcaraan yang baik untuk menggunakan fungsi PHP "filter_var" untuk mengesahkan dan menapis nilai pembolehubah. Kita harus sentiasa mengingati kepentingan keselamatan dan pematuhan untuk aplikasi web dan menggunakan penapis yang sesuai untuk mengesahkan dan menapis input pengguna apabila boleh. Ini memastikan bahawa program kami boleh mengendalikan pelbagai situasi yang berbeza dan mencegah potensi risiko keselamatan dengan berkesan.

Atas ialah kandungan terperinci Gunakan fungsi PHP 'filter_var' untuk mengesahkan dan menapis nilai pembolehubah. 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