Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengesahkan Jenis Fail Imej yang Dimuat Naik dengan Selamat dalam PHP?
Walaupun menggunakan pendekatan biasa untuk mengesahkan jenis fail imej, sesetengah pengguna telah mengalami ralat semasa proses muat naik.
Coretan kod yang disediakan menggunakan sifat $_FILES['fupload']['type'] yang disediakan pengguna, iaitu terdedah kepada manipulasi oleh pengguna yang berniat jahat. Untuk menangani kerentanan ini, telah dicadangkan bahawa menggunakan mime_content_type() akan meningkatkan ketepatan.
Walau bagaimanapun, penyelesaian yang disyorkan adalah untuk mengelakkan bergantung sepenuhnya pada nilai yang ditentukan pengguna. Sebaliknya, adalah dinasihatkan untuk menjalankan pengesahan jenis anda sendiri.
Untuk imej, fungsi exif_imagetype() menawarkan kaedah yang boleh dipercayai untuk menentukan format sebenar fail:
$allowedTypes = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF); $detectedType = exif_imagetype($_FILES['fupload']['tmp_name']); $error = !in_array($detectedType, $allowedTypes);
Pendekatan ini menyemak tandatangan binari imej secara langsung, menghapuskan kemungkinan pengguna memanipulasi jenis fail.
Sebagai alternatif, untuk pengesahan jenis fail yang lebih maju, pertimbangkan untuk menggunakan fungsi finfo jika pelayan anda menyokongnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Jenis Fail Imej yang Dimuat Naik dengan Selamat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!