سلام.
دوستان ما دو روش برای اعتبار سنجی فرمت فایل در موقع آپلود داریم.
یکی کد پایین که منبعش سایت https://www.w3schools.com/php/php_file_upload.asp هست.
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
یکی هم کد زیر که از طریق mime بررسی می کنیم.
if(($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/jpg") .....
شما کدام حالت رو پیشنهاد می کنید که از لحاظ امنیت بهش اطمینان داشته باشیم و چرا ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
بهترین حالت چک کردن mimetype هست
مثلا کد زیر
function get_mime_type($file) {
$mtype = false;
if (function_exists('finfo_open')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mtype = finfo_file($finfo, $file);
finfo_close($finfo);
} elseif (function_exists('mime_content_type')) {
$mtype = mime_content_type($file);
}
return $mtype;
}
ممنونم @hesammousavi
اما این روش مشکل خودشو داره. فرضا اگه فرد پسورد فایل رو عوض کنه ، با این کد فایلش معتبر اعلام میشه.
همچنین طبق تحقیقاتی که کردم mime برای همه فایل ها جواب گو نیست.
فرضا فایل های docx یا xlsx دارای کدهای mime هستن که گاهی اوقات بر اساس مرورگر ممکنه که به فایل xml یا zip تعبیر بشن!
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟