رفع مشکل پسوند غیر مجاز آپلود وردپرس

منظور از پرونده های غیر مجاز چیه ؟

وردپرس به صورت پیشفرض از یک سری فرمت های متداول پشتیبانی میکنه و اگر شما بخواید فایلی رو آپلود کنید که در لیست پسوندهای مجاز نباشه بهتون پیامی با این مضمون میده :

با عرض پوزش، این نوع پرونده به دلایل امنیتی مجاز نیست.

البته اینکه وردپرس نمیزاره پسوند های دیگه رو آپلود کنید صرفاً دلیل بر خطرناکیشون نیست. برای آپلود فایل های این شکلی شما دو راه پیش رو دارید . یا اینکه فرمت فایل رو عوض کنید یا اینکه پسوندهای دیگه ای رو هم به لیست پرونده های مجاز وردپرس اضافه کنید. در ادامه هر دو روش رو بهتون یاد میدیم .

رفع مشکل آپلود فایل با تغییر فرمت فایل

اولین روش پیشنهادی ما اینه که سعی کنیم تا حد ممکن طبق فرمت های پیشفرض وردپرس جلو برید و فایلی با پسوند غیر مجاز اپلود نکنید . چرا این فایل ها خطرات امنیتی بیشتری به دنبال دارن و ممکنه خدایی نکرده باعث هک شدن سایت شما بشن .

تبدیل فرمت راحت ترین کاریه که میشه کرد . یه روش تبدیل فرمت اینه که پسوند فایل رو عوض کنید . یعنی با استفاده از نرم افزارهای کانورتر سعی کنید فایل قبلی رو به فرمت جدید تبدیل کنید .

مثلا اگر میخواید تصاویر با فرمت webp آپلود کنید یا ویدئویی با فرمت flv دارید خیلی راحت میشه اونها رو به فرمت jpeg و mp4 تبدیل کرد .

برای این منظور نرم افزار رایگان File Converter رو بهتون پیشنهاد می کنیم . این نرم افزار بسیار سریع و قدرتمنده و اکثر فایل های صوتی و تصویری رو میتونه به فرمت های مختلف تبدیل کنه .

  1. دانلود نرم افزار رایگان File Converter

البته تغییر فرمت فقط اینطوری نیست . اگر قصدتون دانلود فایل توسط کاربران هست و قرار نیست مثل فایل های مولتی مدیا ،  فایل رو نمایش بدید میتونید از فشرده سازها استفاده کنید . کافیه فایل های مد نظرتون رو با استفاده از نرم افزارهای فشرده سازی مثل WinRAR فشرده و بعد از اون اقدام به آپلود فایل کنید .

البته بعضی از سایت ها نمیخوان اینطوری پیش برن . مثلا سایت هایی که اپلیکیشن اندروید ارائه میکنن ترجیح میدن فایل هاشون رو به صورت مستقیم با فرمت APK قرار بدن تا کاربر بتونه بعد از دانلود سریعاً نصب کنه . ضمن اینکه خارج کردن فایل ها از حالت فشرده ممکنه برای کاربران آماتور سخت باشه .

اینطور مواقع که نمیشه با وردپرس کنار اومد ! باید هرچی تو چنته داریم رو کنیم و مچش رو بخوابونیم .

مجاز کردن اپلود فایل با پسوند های مختلف

دو مسیر پیش رو داریم . یکی استفاده از افزونه ها و یکی هم درج کدها در فایل فانکشن . همونطور که در مقاله ” ۷۸ افزونه ای که سرعت سایت شما رو کاهش میدن ! ” گفتیم استفاده از افزونه های زیاد دردسرهایی به همراه داره و بهتره تا حد امکان از نصب افزونه های مختلف پرهیز کنیم.

بنابراین پیشنهاد میکنیم از روش کد گذاری در فایل فانکشن استفاده کنید. برای این کار کافیه کدهای زیر رو در فایل فانکشن قالب اضافه کنید :


function novinadmin_mime_types( $mimes ) {
	
        // فرمت های جدید رو به این شکل اضافه کنید.
            $mimes['WebP'] = 'image/webp';
	    $mimes['apk'] = 'application/vnd.android.package-archive';

	return $mimes;
}
add_filter( 'upload_mimes', 'novinadmin_mime_types' );

 

همونطور که در کدها مشخص کردیم باید فرمتهای جدید رو به این شکل به وردپرس اضافه کنید . ما دو فرمت WebP و APK رو مجاز کردیم . برای این کار شما نیاز دارید فرمت و Mime Type فایل رو بدونید .

فرمت فایل رو که موقع آپلود متوجه میشید . همونجایی که بهتون پیغام خطا رو نشون میده ، نام و فرمت فایل رو هم اعلام میکنه . اما برای Mime Type کافیه در اینترنت جستجو کنید . مثلا برای WebP باید جستجو کنید :” webp mime type ”  خیلی راحت مایم تایپ فرمت های مختلف رو میتونید پیدا کنید .

روش هایی که پیشنهاد نمی شوند !!

در کنار روش هایی که گفتیم روش های دیگه ای هم وجود داره که بهتون پیشنهاد نمی کنیم . روش اول مجاز کردن همه پسوندهاست . با قرار دادن کد زیر در فایل wp-config.php (این فایل در روت سایت قرار داره) از وردپرس بخواید همه پسوندها رو قبول کنه .

define( 'ALLOW_UNFILTERED_UPLOADS', true );

روش دیگه هم استفاده از افزونه هاست . شما میتونید از افزونه WP Extra File Types استفاده کنید . این افزونه یک سری فرمت پیش فرض داره که میتونید اونها رو انتخاب کنید . اگر هم فرمت مورد نظر شما داخلش نبود به همون روش که ابتدا گفتیم باید فرمت و mime type رو مشخص و در افزونه وارد کنید تا به لیست پسوند های مجاز اضافه بشه .

  1. افزونه WP Extra File Types