Rumah > pembangunan bahagian belakang > tutorial php > Membersihkan dan mengesahkan data dengan penapis PHP

Membersihkan dan mengesahkan data dengan penapis PHP

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2025-02-27 09:55:14
asal
140 orang telah melayarinya

Sanitize and Validate Data With PHP Filters

Pengesahan data yang berkesan adalah penting untuk bentuk web yang selamat dan mantap. Data tidak sah boleh mewujudkan kelemahan keselamatan dan kerosakan laman web. Tutorial ini menunjukkan bagaimana fungsi PHP

dengan cekap membersihkan dan mengesahkan input pengguna, menghalang isu -isu ini. filter_var

mengapa sanitisasi data sering diabaikan

Ramai pemaju mencari pengesahan data membosankan, sering melibatkan:

    perbandingan lengkap terhadap setiap variasi input yang boleh dibayangkan.
  • membuat ekspresi biasa kompleks untuk mengendalikan semua kemungkinan.
  • atau gabungan kedua-duanya, yang membawa kepada kerja yang memakan masa dan kadar kesilapan yang tinggi.
Untungnya, PHP menawarkan penyelesaian yang diperkemas.

memanfaatkan fungsi php

filter_var

Fungsi PHP

memudahkan proses. Sintaksinya ialah: filter_var

filter_var( mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0 ): mixed
Salin selepas log masuk
  • : Data yang akan ditapis. $value
  • : ID penapis (mis., $filter, FILTER_SANITIZE_EMAIL). FILTER_VALIDATE_INT
  • : Parameter pilihan untuk penyesuaian penapis. Pulangan $options kegagalan penapis. FALSE
data sanitizing dengan

filter_var

sanitisasi e -mel:

Penapis membuang aksara haram dari alamat e -mel. Contohnya:

FILTER_SANITIZE_EMAIL

sanitisasi url:
$email = "test\"';DROP TABLE users;--@example.com";
$sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL);
echo $sanitizedEmail; // Outputs: test@example.com (malicious script removed)
Salin selepas log masuk

Begitu juga, membersihkan URL watak berbahaya:

FILTER_SANITIZE_URL Mengesahkan data dengan

$url = "http://example.com/?param=<🎜>";
$sanitizedUrl = filter_var($url, FILTER_SANITIZE_URL);
echo $sanitizedUrl; // Outputs: http://example.com/?param= (script removed)
Salin selepas log masuk

filter_var Pengesahan alamat IP:

Pengesahan Integer:

$ip = "127.0.0.1";
if (filter_var($ip, FILTER_VALIDATE_IP)) {
  // Valid IP address
} else {
  // Invalid IP address
}
Salin selepas log masuk

Aplikasi Praktikal: Borang Penyerahan E -mel mari kita membina borang penyerahan e -mel yang mudah untuk menggambarkan sanitisasi data dan pengesahan. Borang mengumpul: Nama, e -mel, laman utama, dan mesej. Hanya data yang sah mencetuskan penyerahan e -mel.

$foo = "123";
if (filter_var($foo, FILTER_VALIDATE_INT)) {
  // Valid integer
} else {
  // Invalid integer
}
Salin selepas log masuk

Langkah 1: Membuat borang (form.html):

Langkah 2: Pengendalian Borang Pengendalian (Form-Mail.php):

<form method="post" action="form-email.php">
  Name: <input type="text" name="name"><br><br>
  Email Address: <input type="email" name="email"><br><br>
  Home Page: <input type="url" name="homepage"><br><br>
  Message: <textarea name="message"></textarea><br><br>
  <input type="submit" name="Submit" value="Send">
</form>
Salin selepas log masuk

(nota: Logik pengesahan dan sanitisasi lengkap dari contoh asal hendaklah dimasukkan ke dalam blok dalam

.)
<?php
$errors = "";
if (isset($_POST['Submit'])) {
    // ... (Validation and sanitization logic as shown in original example) ...
    if (empty($errors)) {
        // Send email using mail() function with sanitized data
        echo "Thank you for your message!";
    } else {
        echo "Errors: <br>" . $errors;
    }
}
?>
Salin selepas log masuk

Kesimpulan if (isset($_POST['Submit'])) form-email.php Tutorial ini menyediakan asas untuk menggunakan keupayaan penapisan data PHP. Walaupun tidak lengkap, ia mempamerkan kecekapan untuk pengendalian data yang selamat dan boleh dipercayai. Rujuk bahagian penapisan data manual PHP untuk teknik yang lebih canggih. Imej dihasilkan menggunakan Openai's Dall-E 2.

Atas ialah kandungan terperinci Membersihkan dan mengesahkan data dengan penapis PHP. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan