Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan Sanitize Filters untuk menapis input pengguna dalam PHP8?

Bagaimana untuk menggunakan Sanitize Filters untuk menapis input pengguna dalam PHP8?

PHPz
PHPzasal
2023-10-19 08:28:57694semak imbas

如何在PHP8中使用Sanitize Filters过滤用户输入?

Bagaimana cara menggunakan Sanitize Filters untuk menapis input pengguna dalam PHP8?

Pengenalan:
Dalam pembangunan web, data input pengguna biasanya perlu disahkan dan ditapis untuk memastikan kesahihan dan keselamatan data. PHP8 memperkenalkan mekanisme penapis baharu, Sanitize Filters, yang boleh menapis dan memproses input pengguna dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Sanitize Filters dalam PHP8 untuk menapis input pengguna dan memberikan contoh kod khusus.

1. Fahami Sanitize Filters
Sanitize Filters ialah mekanisme yang disediakan oleh PHP untuk menapis dan memproses input pengguna. Dengan menggunakan fungsi penapis yang berbeza, ia boleh memproses data yang dimasukkan pengguna secara berbeza, seperti mengalih keluar teg HTML, melepaskan aksara khas, membetulkan format tarikh, dsb. Dengan menggunakan Sanitize Filters, anda boleh mencegah risiko dan masalah yang disebabkan oleh sistem dengan berkesan oleh kod hasad atau data tidak sah dalam input pengguna.

2. Gunakan Sanitize Filters untuk menapis input pengguna
Berikut adalah beberapa fungsi penapis Sanitize Filters yang biasa digunakan dan penggunaannya:

  1. filter_var() fungsi
    filter_var() adalah fungsi penapisan yang biasa digunakan dalam PHP, digunakan untuk tapis satu pembolehubah untuk ditapis. Penggunaan khusus adalah seperti berikut:

    $input = $_POST['username'];
    $sanitized_input = filter_var($input, FILTER_SANITIZE_STRING);

    Dalam contoh kod di atas, input pengguna bernama "nama pengguna" diperoleh daripada tatasusunan $_POST, dan kemudian ditapis menggunakan penapis FILTER_SANITIZE_STRING. Fungsi

  2. filter_input()
    filter_input() digunakan untuk menapis pembolehubah input yang diperoleh melalui GET, POST, dsb. Penggunaan khusus adalah seperti berikut:

    $sanitized_input = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);

    Dalam contoh kod di atas, fungsi filter_input() digunakan untuk mendapatkan input pengguna bernama "nama pengguna" daripada INPUT_POST, dan ia ditapis menggunakan penapis FILTER_SANITIZE_STRING.

  3. filter_var_array() fungsi
    filter_var_array() fungsi digunakan untuk menapis set pembolehubah input. Penggunaan khusus adalah seperti berikut:

    $input = array(
     'username' => $_POST['username'],
     'password' => $_POST['password']
    );
    
    $filters = array(
     'username' => FILTER_SANITIZE_STRING,
     'password' => FILTER_SANITIZE_STRING
    );
    
    $sanitized_input = filter_var_array($input, $filters);

    Dalam contoh kod di atas, simpan dahulu input yang perlu ditapis dalam tatasusunan $input, dan kemudian buat tatasusunan penapis $penapis sepadan dengan tatasusunan input. Akhir sekali, gunakan fungsi filter_var_array() untuk menapis tatasusunan input, dan simpan hasil yang ditapis dalam $sanitized_input.

3 Contoh demonstrasi
Berikut ialah contoh mudah untuk menunjukkan cara menggunakan Sanitize Filters untuk menapis input pengguna dalam PHP8:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $input = array(
        'username' => $_POST['username'],
        'password' => $_POST['password']
    );

    $filters = array(
        'username' => FILTER_SANITIZE_STRING,
        'password' => FILTER_SANITIZE_STRING
    );

    $sanitized_input = filter_var_array($input, $filters);

    // 输出过滤后的结果
    echo "用户名:" . $sanitized_input['username'] . "<br>";
    echo "密码:" . $sanitized_input['password'] . "<br>";
}
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <label>用户名:</label>
    <input type="text" name="username"><br>

    <label>密码:</label>
    <input type="password" name="password"><br>

    <input type="submit" value="提交">
</form>

Dalam contoh kod di atas, tentukan dahulu sama ada ia adalah permintaan POST. dapatkannya melalui $_POST Nama pengguna dan kata laluan serta penapis dan proseskannya menggunakan penapis FILTER_SANITIZE_STRING. Akhirnya, hasil yang ditapis dikeluarkan melalui gema.

Kesimpulan:
Gunakan Sanitize Filter untuk menapis dan memproses input pengguna dengan mudah, meningkatkan keselamatan dan kesahihan data aplikasi web. Dengan memahami penggunaan Sanitize Filters dan menggabungkannya dengan keperluan sebenar, anda boleh menggunakan mekanisme ini secara fleksibel untuk menapis dan memproses input pengguna. Apabila membangunkan aplikasi web, adalah penting untuk menapis dan mengesahkan input pengguna dengan betul untuk menyediakan perkhidmatan yang lebih selamat dan boleh dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Sanitize Filters untuk menapis input pengguna dalam PHP8?. 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