Sahkan data yang dimasukkan oleh pengguna tunggal menggunakan fungsi filter_input() PHP

王林
Lepaskan: 2023-11-04 10:14:01
asal
1491 orang telah melayarinya

Sahkan data yang dimasukkan oleh pengguna tunggal menggunakan fungsi filter_input() PHP

Gunakan fungsi filter_input() PHP untuk mengesahkan data yang dimasukkan oleh pengguna tunggal

Semasa membangunkan aplikasi web, keselamatan pengguna dimasukkan data adalah sangat penting. Untuk mengelakkan serangan berniat jahat dan kelemahan, kami perlu mengesahkan dan menapis data yang dimasukkan oleh pengguna dengan ketat. Fungsi filter_input() PHP menyediakan cara yang mudah tetapi berkuasa untuk mengesahkan dan menapis data yang dimasukkan pengguna.

Fungsi filter_input() boleh digunakan untuk mengesahkan pembolehubah superglobal (seperti $_GET, $_POST dan $_COOKIE) dan pembolehubah lain. Ia menapis data input mengikut peraturan penapis yang ditentukan dan mengembalikan nilai yang ditapis. Jika penapisan gagal, mengembalikan FALSE. Berikut ialah beberapa contoh peraturan penapis biasa:

  1. Sahkan integer: FILTER_VALIDATE_INT
  2. Sahkan alamat e-mel: FILTER_VALIDATE_EMAIL#🎜#VALIDATE_EMAIL#🎜DATE🎜🎜🎜URL_VALIDATE_FIL_##🎜 🎜🎜#
  3. Tapis aksara khas: FILTER_SANITIZE_SPECIAL_CHARS
  4. Berikut ialah contoh yang menunjukkan cara menggunakan fungsi filter_input() untuk mengesahkan alamat e-mel #🎜 yang dimasukkan pengguna #
    $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
    if ($email) {
        echo "输入的电子邮件地址是有效的:$email";
    } else {
        echo "输入的电子邮件地址无效";
    }
    Salin selepas log masuk
  5. Dalam contoh di atas, kami menggunakan fungsi filter_input() untuk mengesahkan input bernama "e-mel" yang diserahkan oleh pengguna melalui kaedah POST. Kami menggunakan peraturan penapis FILTER_VALIDATE_EMAIL untuk mengesahkan bahawa alamat e-mel yang dimasukkan adalah sah. Jika pengesahan lulus, alamat e-mel yang sah akan dikeluarkan, jika tidak, "Alamat e-mel yang dimasukkan tidak sah" akan dikeluarkan.

Selain pengesahan input tunggal, kami juga boleh menggunakan fungsi filter_input_array() untuk mengesahkan set data input. Fungsi filter_input_array() boleh menerima tatasusunan bersekutu sebagai parameter untuk menentukan pembolehubah yang akan disahkan dan peraturan penapis yang sepadan. Berikut ialah contoh yang menunjukkan cara menggunakan fungsi filter_input_array() untuk mengesahkan set data input:

$filters = array(
    'name' => FILTER_SANITIZE_STRING,
    'age'  => array(
        'filter'  => FILTER_VALIDATE_INT,
        'options' => array(
            'min_range' => 1,
            'max_range' => 100
        )
    ),
    'email' => FILTER_VALIDATE_EMAIL
);

$input = filter_input_array(INPUT_POST, $filters);

if ($input !== NULL && $input !== FALSE) {
    echo "验证通过";
} else {
    echo "输入数据有误";
}
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan tatasusunan bersekutu $filters untuk menentukan pembolehubah yang akan disahkan dan Peraturan penapis yang sepadan. Kami mengesahkan bahawa pembolehubah bernama "nama" mengandungi rentetan yang sah, kami mengesahkan bahawa pembolehubah bernama "umur" ialah integer antara 1 dan 100 dan kami mengesahkan bahawa pembolehubah bernama "e-mel" ialah alamat e-mel yang Sah. Kami kemudian menggunakan fungsi filter_input_array() untuk mengesahkan set data input yang diserahkan melalui kaedah POST dan memberikan hasil yang dikembalikan kepada pembolehubah $input. Jika pengesahan lulus, keluarkan "Pengesahan lulus", jika tidak keluarkan "Data input tidak betul".

Dengan menggunakan fungsi filter_input() atau fungsi filter_input_array() untuk pengesahan input, kami boleh melindungi aplikasi web dengan berkesan daripada potensi risiko keselamatan dan serangan kelemahan. Walaupun fungsi ini menyediakan beberapa keselamatan, masih disyorkan untuk meningkatkan keselamatan aplikasi secara keseluruhan bersama-sama dengan langkah keselamatan lain, seperti menggunakan pernyataan yang disediakan dan mengesahkan muat naik fail.

Atas ialah kandungan terperinci Sahkan data yang dimasukkan oleh pengguna tunggal menggunakan fungsi filter_input() PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan