Rumah >pembangunan bahagian belakang >tutorial php >Cara memastikan data selamat menggunakan penapis dan pengesah dalam bentuk PHP

Cara memastikan data selamat menggunakan penapis dan pengesah dalam bentuk PHP

WBOY
WBOYasal
2023-06-24 12:01:421132semak imbas

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.

  1. Peranan penapis 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.

  1. Peranan pengesah PHP

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.

  1. Menggunakan penapis dan pengesah dalam bentuk PHP

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:

  • filter_input: untuk menapis pembolehubah input
  • filter_var: untuk menapis skalar
  • htmlspecialchars: dengan Digunakan untuk menapis aksara khas untuk menghalang serangan skrip merentas tapak
  • preg_match: digunakan untuk mengesahkan sama ada rentetan mematuhi peraturan yang ditetapkan

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.

  1. Faktor Lain untuk Memastikan Borang PHP Selamat

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!

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