رفع مشکل آپلود فایل با فرمت های غیر مجاز در وردپرس !

نوین ادمین » ترفندهای وردپرس » رفع مشکل آپلود فایل با فرمت های غیر مجاز در وردپرس !

  • تاریخ ثبت : ۱۸ اسفند ۱۳۹۸
  • آخرین بروزرسانی : ۱۸ اسفند ۱۳۹۸
  • زمان مورد نیاز برای مطالعه : ۴ دقیقه

امتیاز / ۵. از رای

هنوز کسی رای نداده !

متاسفیم که خوشتون نیومد!

بهمون بگید چیکار کنیم بهتر بشه!

مقدمه

در مورد چی میخوایم صحبت کنیم؟

احتمالاً شما هم برای آپلود فایل هایی با پسوند های خاص با پیغام “با عرض پوزش، این نوع پرونده به دلایل امنیتی مجاز نیست.” مواجه شدید. بصورت پیشفرض وردپرس فقط چند پسوند معتبر رو میزاره آپلود کنید و به دلایل امنیتی نمیزاره فایل هایی با پسوندهای دیگه آپلود بشن. بسیاری از کاربران از این محدودیت خوششون نمیاد و دلشون میخوا فایل های مختلفی رو در کتابخانه وردپرس آپلود کنن. در این آموزش بهتون یاد میدیم بتونید فایل هایی با پسوند دلخواه رو آپلود کنید.

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

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

این فایل ها خطرناکه؟

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

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

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

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

سعی کنید فرمت فایل رو تغییر بدید

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

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

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

برای این منظور نرم افزار رایگان 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. samane
    samane گفته:

    سلام من در قسمت کتابخانه مشکل آپلود پی دی اف ندارم و براحتی آپلود میشه اما وقتی در قسمت پست یا همون نوشته میخواهم در قسمت چندرسانه ای هرفایلی رو آپلود کنم در پنجره ای که برام باز میشه فقط مجازم جی پی جی آپلودکنم و وقتی که دراون پنجره گزینه رو روی all filesمیذارم و پی,دی افم رو انتخاب میکنم ارور میده و مینویسه: باعرض پوزش ،این نوع فایل در اینجا پشتیبانی نمیشود. حتی وقتی درکتابخانه آپلودمیکنم فایلم رو توی قسمت پست ک میخوام آپلودش کنم فایل پی,دی اف رو نشون نمیده فقط عکسهارو نشون میده.من راه حل دومتون رو انجام دادم جواب نداد.خواهش میکنم کمکم کنین یکبار بخاطر این موضوع وردپرس روپاک کردم و دوباره نصب کردم بازدرست نشد.پوسته رو هم عوض کردم بازدرست نشد.کمکم کنین ممنونم

    پاسخ
    • شهاب الدین رفیعی
      شهاب الدین رفیعی گفته:

      درود بر شما :
      بصورت پیش فرض نباید همچین مشکلی داشته باشید. چون وردپرس اجازه آپلود pdf رو میده. احتمالا یکی از افزونه های شما داره مشکل ایجاد میکنه. سعی کنید فولدرهای plugin و theme رو تغییر نام بدید . بعد تست کنید ببینید باز مشکل دارید یا نه . اگر مشکل برطرف شد اشکال از قالب و افزونه هاست. اگر همچنان مشکل داشتید احتمالا کدی هایی در wp-config یا htaccess هست که مانع میشه. اگر با نسخه تازه وردپرس و با فایل های پیش فرض همچنان مشکل دارید احتمالا هاستتون دسترسی هایی رو محدود کرده باشه .

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

خوشحال میشیم از مطالب ما در سایتتون استفاده کنید . خوشحال تر میشیم اگر یک لینکی هم از مقالتون به سایت ما بدید