Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua penapisan data PHP: Cara menggunakan fungsi filter_input_array untuk kumpulan mengesahkan input pengguna

Petua penapisan data PHP: Cara menggunakan fungsi filter_input_array untuk kumpulan mengesahkan input pengguna

王林
王林asal
2023-07-29 21:09:29875semak imbas

Petua penapisan data PHP: Cara menggunakan fungsi filter_input_array untuk kumpulan mengesahkan input pengguna

Dalam pembangunan web, input pengguna selalunya tidak boleh dipercayai. Untuk memastikan keselamatan dan integriti data, kami perlu mengesahkan dan menapis input pengguna. PHP menyediakan fungsi filter_input_array, yang boleh membantu kami mengesahkan input pengguna dalam kelompok.

Fungsi penapis_input_array menerima tiga parameter: jenis input (INPUT_GET, INPUT_POST, INPUT_COOKIE, dll.), tatasusunan peraturan penapisan dan sama ada untuk membenarkan tatasusunan sebagai input (INPUT_GET ialah jenis input lalai). Mengembalikan tatasusunan yang ditapis, atau palsu jika ralat berlaku.

Berikut ialah kod sampel yang menggunakan fungsi filter_input_array untuk mengesahkan input pengguna secara kelompok:

<?php
// 设置输入过滤规则
$filters = array(
    'username'  => FILTER_SANITIZE_STRING,
    'email'     => FILTER_VALIDATE_EMAIL,
    'age'       => array(
        'filter'    => FILTER_VALIDATE_INT,
        'options'   => array('min_range' => 18, 'max_range' => 60)
    ),
    'website'   => array(
        'filter'    => FILTER_VALIDATE_URL,
        'flags'     => FILTER_NULL_ON_FAILURE
    )
);

// 获取过滤后的输入数据
$input = filter_input_array(INPUT_POST, $filters);

// 验证是否发生错误
if ($input === false) {
    die('输入数据验证失败!');
}

// 输出过滤后的输入数据
echo "用户名:" . $input['username'] . "<br>";
echo "邮箱:" . $input['email'] . "<br>";
echo "年龄:" . $input['age'] . "<br>";
echo "个人网站:" . ($input['website'] ?? '未填写') . "<br>";
?>

Dalam contoh ini, kami menyediakan empat peraturan penapisan input: nama pengguna ditapis menggunakan FILTER_SANITIZE_STRING, e-mel disahkan menggunakan FILTER_VALIDATE_EMAIL, umur disahkan dan ditetapkan menggunakan julat Nilai FILTER_VALIDATE_INT, tapak web menggunakan FILTER_VALIDATE_URL untuk mengesahkan dan mengembalikan batal jika gagal.

Dengan memanggil fungsi filter_input_array dan menentukan jenis input sebagai INPUT_POST, kami boleh mendapatkan data POST yang diserahkan oleh pengguna dan menapis serta mengesahkannya pada masa yang sama. Jika mana-mana input gagal pengesahan, fungsi filter_input_array mengembalikan palsu.

Selepas pengesahan diluluskan, kami boleh memproses dan menggunakan data yang ditapis mengikut keperluan. Dalam kod sampel, kami mengeluarkan nama pengguna, e-mel, umur dan tapak web peribadi yang ditapis.

Menggunakan fungsi filter_input_array untuk mengesahkan input pengguna secara kelompok boleh membantu kami mengurangkan bilangan kod pengesahan dan mengukuhkan keselamatan aplikasi dengan berkesan. Pada masa yang sama, kami juga boleh menambah peraturan penapisan tersuai untuk memenuhi keperluan khusus.

Ringkasnya, dengan menggunakan fungsi filter_input_array secara rasional, kami boleh meningkatkan kawalan dan keselamatan input pengguna, mengurangkan masa pembangunan dan volum kod, serta meningkatkan kebolehpercayaan dan keteguhan aplikasi.

Saya harap artikel ini dapat membantu anda mempelajari cara menggunakan fungsi filter_input_array untuk mengesahkan input pengguna dalam kelompok dan meningkatkan keselamatan dan kebolehpercayaan aplikasi web.

Atas ialah kandungan terperinci Petua penapisan data PHP: Cara menggunakan fungsi filter_input_array untuk kumpulan mengesahkan input pengguna. 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