Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengesahkan Jenis Fail yang Dimuat Naik untuk Memastikan Keselamatan dalam PHP?

Bagaimana untuk Mengesahkan Jenis Fail yang Dimuat Naik untuk Memastikan Keselamatan dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-16 08:12:02230semak imbas

How to Validate Uploaded Filetypes to Ensure Security in PHP?

Menentukan Jenis Fail yang Dibenarkan untuk Muat Naik menggunakan PHP

Mengekalkan keselamatan dan mengawal jenis fail yang dimuat naik ke tapak web adalah penting. PHP menawarkan pelbagai kaedah untuk mengesahkan dan menyekat muat naik fail berdasarkan kriteria tertentu. Satu senario biasa ialah mengehadkan muat naik kepada jenis fail tertentu, seperti imej dan dokumen.

Menghadkan Jenis Fail kepada JPG, GIF dan PDF

Pertimbangkan senario yang membenarkan borang pengguna untuk memuat naik fail, tetapi hanya format JPG, GIF dan PDF dibenarkan. Coretan kod PHP ringkas untuk mencapai matlamat ini ialah:

<?php
$file_type = $_FILES['foreign_character_upload']['type']; // Get the file type

$allowed = array("image/jpeg", "image/gif", "application/pdf"); // Allowed file types in an array

if(!in_array($file_type, $allowed)) {
  $error_message = 'Only jpg, gif, and pdf files are allowed.';
  $error = 'yes';
}
?>

Dalam kod ini, kami:

  1. Tentukan jenis fail menggunakan mimetype yang dikembalikan oleh input fail.
  2. Tentukan tatasusunan jenis fail yang dibenarkan ($dibenarkan), termasuk "imej/jpeg", "imej/gif", dan "application/pdf".
  3. Semak sama ada jenis fail tidak terdapat dalam tatasusunan $allowed menggunakan in_array().
  4. Sekiranya jenis fail tidak sah, kami menetapkan $error kepada 'ya ' dan $error_message kepada mesej yang sesuai.

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Jenis Fail yang Dimuat Naik untuk Memastikan Keselamatan dalam 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