Rumah >pembangunan bahagian belakang >tutorial php >Cara memastikan data selamat menggunakan penapis dan pengesah dalam bentuk PHP
Dengan pembangunan Internet yang berterusan, bilangan tapak web dan aplikasi semakin meningkat dari hari ke hari, dan isu keselamatan menjadi semakin ketara. Dalam tapak web dan aplikasi, penapisan dan pengesahan data adalah sangat penting kerana sebarang kandungan yang boleh diedit adalah sasaran yang terdedah. Penapis dan pengesah dalam bentuk PHP boleh membantu kami memastikan keselamatan data.
Penapis data PHP digunakan untuk menapis data input pengguna secara automatik atau manual. Penapis ini menukar teg, ruang dan aksara khas dalam data input kepada entiti untuk menghalang penyemak imbas daripada mentafsirkannya sebagai kod HTML atau kod JavaScript. Penapis data juga boleh digunakan dengan fungsi PHP untuk memastikan bahawa data input hanya mengandungi jenis data tertentu, julat berangka, abjad angka dan aksara tertentu yang lain, dsb.
Pengesah PHP digunakan untuk memastikan data borang yang diserahkan mematuhi peraturan yang ditetapkan untuk mengelakkan penyerahan data yang menyalahi undang-undang. Peraturan pengesahan biasa termasuk medan yang diperlukan, panjang maksimum, alamat e-mel, nombor, tarikh dan masa, dsb. Pengesah biasanya digunakan untuk mengesahkan data yang dimasukkan oleh pengguna sebelum menyerahkan borang dan memaparkan mesej amaran mengikut keperluan.
Dalam borang PHP, kami boleh menggunakan penapis dan pengesah terbina dalam, atau kami boleh menentukan penapis dan pengesah kami sendiri. Kita boleh menggunakan fungsi terbina dalam berikut untuk melaksanakan penapisan dan pengesahan data:
Berikut ialah contoh penggunaan penapis PHP dan pengesah :
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input type="text" name="name"/><br/><br/> Age: <input type="text" name="age"/><br/><br/> Email: <input type="text" name="email"/><br/><br/> <input type="submit" name="submit" value="Submit"/> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = filter_input(INPUT_POST, "name", FILTER_SANITIZE_STRING); $age = filter_input(INPUT_POST, "age", FILTER_VALIDATE_INT); $email = filter_input(INPUT_POST, "email", FILTER_SANITIZE_EMAIL); if (empty($name)) { echo "Name is required"; } else { echo "Name: " . $name; } if (!is_numeric($age)) { echo "Age must be numeric"; } else { echo "Age: " . $age; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "Invalid email format"; } else { echo "Email: " . $email; } } ?>
Dalam contoh ini, kami menggunakan fungsi filter_input untuk menapis dan mengesahkan pembolehubah input nama, umur dan e-mel. Dalam output, kami menyemak sama ada pembolehubah ini kosong atau sepadan dengan peraturan pengesahan.
Sambil memastikan data borang selamat menggunakan penapis dan pengesah dalam borang PHP, terdapat faktor lain yang perlu diberi perhatian:
a. Cegah suntikan SQL
Apabila mengakses pangkalan data, anda harus mengelak daripada menggunakan pembolehubah dan fungsi boleh ubah. Input ini perlu ditapis dan disahkan untuk mengelakkan serangan suntikan SQL.
b. Elakkan serangan skrip merentas tapak
Data borang yang diserahkan oleh pengguna hendaklah ditapis dan disahkan untuk memastikan ia tidak mengandungi sebarang HTML, JavaScript atau kod hasad yang lain.
c. Muat Naik Fail Selamat
Apabila membenarkan pengguna memuat naik fail, mereka harus memastikan jenis dan saiz fail yang dimuat naik adalah selamat dan disimpan di lokasi yang selamat.
d. Gunakan sijil HTTPS dan SSL
Gunakan sijil HTTPS dan SSL untuk menyulitkan komunikasi antara tapak web dan aplikasi untuk memastikan keselamatan data.
Ringkasnya, menggunakan penapis dan pengesah dalam bentuk PHP, bersama-sama dengan langkah keselamatan lain yang diperlukan, memastikan keselamatan data anda. Hanya apabila kami mengambil serius isu keselamatan data dan mengambil langkah yang perlu untuk melindunginya, kami boleh benar-benar memastikan tapak web dan aplikasi kami tidak terdedah kepada serangan.
Atas ialah kandungan terperinci Cara memastikan data selamat menggunakan penapis dan pengesah dalam bentuk PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!