Rumah pembangunan bahagian belakang tutorial php Gunakan fungsi filter_input_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna tunggal

Gunakan fungsi filter_input_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna tunggal

Nov 03, 2023 am 10:46 AM
php filter_input_array() Tapis data

Gunakan fungsi filter_input_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna tunggal

Dalam pembangunan PHP, selalunya diperlukan untuk memproses data input pengguna, dan data input pengguna yang tidak boleh dipercayai dengan mudah boleh menyebabkan pelbagai isu keselamatan, seperti suntikan SQL, serangan XSS, dsb. Oleh itu, apabila menerima input pengguna, data perlu ditapis dan disahkan untuk memastikan data yang dimasukkan memenuhi keperluan untuk meningkatkan keselamatan sistem.

PHP menyediakan fungsi filter_input_array() untuk menapis data input pengguna tunggal atau berbilang. Fungsi ini boleh meningkatkan keselamatan data input dengan menggunakan penapis untuk mengesahkan dan menapis set data input.

Artikel ini akan memperkenalkan cara menggunakan fungsi filter_input_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna tunggal dan memberikan contoh kod yang sepadan.

1. fungsi filter_input_array()

fungsi filter_input_array() digunakan untuk mengesahkan dan menapis berbilang data input. Takrifan fungsi ini adalah seperti berikut:

filter_input_array ( int $type [, mixed $definition [, bool $add_empty = true ]] ) : mixed
Salin selepas log masuk

Fungsi ini perlu lulus dalam tiga parameter:

Parameter 1: type, menunjukkan jenis data yang perlu ditapis, yang boleh menjadi INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, dsb., maksud khusus adalah seperti berikut: type,表示需要过滤的数据类型,可以是INPUT_GETINPUT_POSTINPUT_COOKIEINPUT_SERVER等,具体含义如下:

  • INPUT_GET:从$_GET中取得变量;
  • INPUT_POST:从$_POST中取得变量;
  • INPUT_COOKIE:从$_COOKIE中取得变量;
  • INPUT_SERVER:从$_SERVER中取得变量;
  • INPUT_ENV:从$_ENV中取得变量;
  • INPUT_REQUEST:从$_REQUEST中取得变量。

参数2:definition,表示输入数据的定义规则,可以使用一组规则数组来定义,具体格式如下:

array(
    '变量名' => array(
        'filter'   => 指定的验证器,
        'flags'    => 可选的标记,
        'options'  => 可选的选项,
        'name'     => 为变量指定一个替代名称,
    ),
    '变量名2' => array(
        'filter'   => 指定的验证器2,
        'flags'    => 可选的标记,
        'options'  => 可选的选项,
        'name'     => 为变量指定一个替代名称2,
    ),
    //...
);
Salin selepas log masuk

其中,filter表示指定的验证器,可以是内置的验证器如FILTER_VALIDATE_EMAILFILTER_VALIDATE_INT等,也可以是自定义的验证器,flags表示可选的标记,options表示可选的选项,name表示为变量指定一个替代名称。

参数3:add_empty,表示是否对空值进行过滤和验证。

该函数的返回值是过滤后的数据,如果发生错误则返回false

二、使用filter_input_array()函数过滤多个单个用户输入的数据

下面我们给出一个使用filter_input_array()函数过滤多个单个用户输入的数据的示例。假设我们要验证并过滤一个包含用户名、邮箱和年龄的表单数据,满足以下要求:

  • 用户名只能包含字母和数字,且长度为6到12个字符
  • 邮箱必须是合法的邮箱格式
  • 年龄必须是数字,且在18到100之间

示例代码如下:

<?php
    $definitions = array(
        'username' => array(
            'filter'   => FILTER_VALIDATE_REGEXP,
            'options'  => array('regexp' => '/^[a-z0-9_-]{6,12}$/i'),
            'name'     => '用户名',
        ),
        'email' => array(
            'filter'   => FILTER_VALIDATE_EMAIL,
            'name'     => '邮箱',
        ),
        'age' => array(
            'filter'   => FILTER_VALIDATE_INT,
            'options'  => array('min_range' => 18, 'max_range' => 100),
            'name'     => '年龄',
        ),
    );

    $input_data = filter_input_array(INPUT_POST, $definitions);

    if (!$input_data) {
        echo '发生了一个错误。';
    } else {
        if (in_array(null, $input_data, true) || in_array(false, $input_data, true)) {
            echo '输入数据不正确。';
        } else {
            echo '输入数据正确。';
        }
    }
?>
Salin selepas log masuk

其中,我们定义了一个包含3个输入数据的数组,然后通过filter_input_array()函数对这些输入数据进行验证和过滤。在上面的示例中,我们使用了一些内置的验证器FILTER_VALIDATE_REGEXPFILTER_VALIDATE_EMAILFILTER_VALIDATE_INT,它们分别用来验证输入数据是否符合正则表达式、是否符合邮箱格式、是否为整数。此外,使用了一些选项,如min_rangemax_range

  • INPUT_GET: Daripada $_GET;
  • INPUT_POST: Dapatkan pembolehubah daripada $_POST kod>;
  • INPUT_COOKIE: Dapatkan pembolehubah daripada $_COOKIE
  • INPUT_SERVER: Dapatkan pembolehubah daripada $_SERVER Variables;
  • INPUT_ENV: Dapatkan pembolehubah daripada $_ENV; >INPUT_REQUEST: Daripada $_REQUEST.
Parameter 2: takrifan, yang mewakili peraturan takrifan data input Ia boleh ditakrifkan menggunakan set tatasusunan peraturan Format khusus adalah seperti berikut:

rrreee

Antaranya, filter mewakili pengesah yang ditentukan, yang boleh menjadi validator terbina dalam seperti FILTER_VALIDATE_EMAIL, FILTER_VALIDATE_INT, dsb., atau pengesah tersuai, flags mewakili teg pilihan, options mewakili pilihan pilihan dan name mewakili nama alternatif untuk pembolehubah.

Parameter 3: add_empty, menunjukkan sama ada untuk menapis dan mengesahkan nilai kosong. 🎜🎜Nilai pulangan fungsi ini ialah data yang ditapis Jika ralat berlaku, false dikembalikan. 🎜🎜2. Gunakan fungsi filter_input_array() untuk menapis data yang dimasukkan oleh berbilang pengguna tunggal🎜🎜 Di bawah kami memberikan contoh penggunaan fungsi filter_input_array() untuk menapis data yang dimasukkan oleh berbilang pengguna tunggal. Katakan kami ingin mengesahkan dan menapis data borang yang mengandungi nama pengguna, alamat e-mel dan umur untuk memenuhi keperluan berikut: 🎜
  • Nama pengguna hanya boleh mengandungi huruf dan nombor dan panjangnya 6 hingga 12 aksara
  • E-mel mestilah dalam format e-mel yang sah
  • Umur mestilah nombor dan antara 18 dan 100
🎜Kod sampel adalah seperti berikut: 🎜rrreee🎜Antara mereka, kami mentakrifkan Tatasusunan yang mengandungi 3 data input, yang kemudiannya disahkan dan ditapis melalui fungsi filter_input_array(). Dalam contoh di atas, kami menggunakan beberapa pengesah terbina dalam FILTER_VALIDATE_REGEXP, FILTER_VALIDATE_EMAIL dan FILTER_VALIDATE_INT, yang digunakan untuk mengesahkan sama ada data input mematuhi Ungkapan biasa, sama ada ia mematuhi format e-mel dan sama ada ia adalah integer. Selain itu, beberapa pilihan digunakan, seperti min_range, max_range, untuk membenarkan nilai minimum dan maksimum data input. Akhir sekali, gunakan pernyataan if untuk menentukan sama ada data input adalah sah. 🎜🎜3. Kesimpulan🎜🎜Menggunakan fungsi filter_input_array() boleh dengan mudah mengesahkan dan menapis data yang dimasukkan oleh berbilang pengguna tunggal, dan meningkatkan keselamatan data. Apabila menggunakan fungsi ini, anda perlu menentukan peraturan, pengesah, pilihan, dsb. untuk data input bagi memastikan kesahihan data input. Penggunaan fungsi ini dengan betul boleh melindungi keselamatan sistem dengan berkesan dan mengelakkan kelemahan keselamatan biasa. 🎜

Atas ialah kandungan terperinci Gunakan fungsi filter_input_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna tunggal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Pembalakan CakePHP Pembalakan CakePHP Sep 10, 2024 pm 05:26 PM

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

See all articles