رفع مشکل آپلود فایل در وردپرس

رفع مشکل آپلود فایل در وردپرس
5/5 - (3 امتیاز)

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

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

دلیل نمایش خطا در هنگام آپلود فایل در وردپرس

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

وردپرس به صورت پیش فرض آپلود یکسری از فایل ها با پسوند هایی چون: jpg,png,zip,pdf,docx,mp4 و … را مجاز می داند.وشما این امکان را دارید که فایل مورد نظرتون را آپلود کنید.

رفع مشکل آپلود فایل در وردپرس

به تصویر بالا نگاه کنید،من در این مثال یک فایل با نام wp-cron.php آپلود کردم و و با خطای “با عرض پوزش، این نوع پرونده به دلایل امنیتی مجاز نیست.” مواجه شدم.

با توجه به اینکه من یک فایل با پسوند .php آپلود کردم،و این پسوند جزء پسوند های مجاز وردپرس نبود،وردپرس جلوی آپلود این فایل رو گرفت و به من خطای بارگذاری فایل داد.(آپلود فایل با پسوند .php برای امنیت وب سایت شما خوب نیست)

رفع مشکل آپلود فایل در وردپرس

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

نحوه آپلود فایل با پسوندهای متفاوت در وردپرس

برای اینکه بتوانید، تنظیمات آپلود فایل با پسوند های مختلف در وردپرس را تغییر دهید،روش های مختلفی وجود دارد.که من در این آموزش به شما از ۳ روش نحوه آپلود فایل با پسوندهای مختلف را در راستای رفع مشکل آپلود فایل در وردپرس آموزش می دهم:

  • روش اول:‌ با کمک افزونه وردپرس File Upload Types by WPForms
  • روش دوم: از طریق درج کد داخل فایل wp-config.php وردپرس
  • روش سوم: از طریق درج کد داخل فایل functions.php قالب وردپرس

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

این روش،ساده ترین روشی هست که شما می توانید این مشکل را برطرف کنید.مخصوصا اگر با برنامه نویسی وردپرس آشنایی نداشته باشید.

شروع کار با نصب یک افزونه وردپرس به نام File Upload Types by WPForms انجام می شود.

پس از نصب و فعال سازی این افزونه وردپرس،به منوی تنظیمات > File Upload Types بروید.

بعد از ورود به صفحه تنظیمات افزونه شما به راحتی می توانید از قسمت “Add File Upload Types” فرمت های دلخواه مد نظرتون را فعال یا غیر کنید :

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

همچنین در قسمت “ADD CUSTOM FILE TYPES” می توانید فرمت دلخواهی که در لیست پیش فرض فرمت های آپلود افزونه نبود را هم اضافه کنید:

اضافه نمودن فرمت دلخواه برای آپلود فایل در وردپرس

رفع مشکل آپلود فایل با درج کد داخل فایل functions.php قالب وردپرس

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

برای شروع وارد پوشه قالب فعال وب سایتتون که در مسیر wp-content/themes قرار دارد بشید.

حالا فایل functions.php را ویرایش کنید و تکه کد زیر را در آن قرار دهید:

آپلود این نوع پرونده به دلیل مسائل امنیتی مجاز نیست
add_filter('upload_mimes','nikanwp_upload_types', 1,1);
function nikanwp_upload_types( $mime_types ) {
  $mime_types['svg'] = 'image/svg+xml';
  unset( $mime_types['xls']);
  return $mime_types;
}

در کد بالا من تابعی ساختم به نام nikanwp_upload_types و آن را به هوک upload_mimes قلاب کردم.

upload_mimes یکی از فیلتر های پیش فرض وردپرس هست.

همانطور که در کد بالا می بینید برای اضافه کردن یک فرمت جدید از نوع svg از تکه کد زیر استفاده کردم :

$mime_types['svg'] = 'image/svg+xml';

و برای غیر فعال کردن یک فرمت از نوع xls،از تکه کد زیر استفاده کردم:

unset( $mime_types['xls']);

به همین ترتیب،می توانید فرمت های دیگری را که مدنظرتون هست فعال یا غیر فعال کنید.

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

رفع مشکل آپلود فایل با درج کد داخل فایل wp-config.php وردپرس

یکی دیگر از راه های رفع خطای  آپلود این نوع پرونده به دلیل مسائل امنیتی مجاز نیست ، افزودن یک تکه کد ثابت به فایل wp-config.php وردپرس هست.

برای شروع به مسیر نصب وردپرس بروید و فایل wp-config.php را ویرایش کنید و تکه کد زیر را در آن قرار دهید:

define('ALLOW_UNFILTERED_UPLOADS', true);
با عرض پوزش، این نوع پرونده به دلایل امنیتی مجاز نیست.

با اضافه کردن کد بالا محدودیت های آپلود در رسانه وردپرس برطرف می شود و می توانید بدون مشکل فایل مورد نظرتون را در بخش رسانه وردپرس بارگذاری نمایید.

نکات امنیتی وردپرس در قسمت رسانه و آپلود فایل

وقتی اجازه بارگذاری انواع فایل های خاص را به رسانه وردپرس می دهید،سایت خود را در معرض خطرات متعددی قرار می دهید.

به همین منظور برای افزایش امنیت وردپرس در اینجا چند نکته امنیتی را به شما توضیح می دهم که بهتر است آن ها را رعایت کنید:

  • محدودیت اندازه فایل : سعی کنید اندازه حجم بارگذاری فایل ها در وردپرس را تا جای ممکن محدود کنید.بنابراین کاربران نمی توانند فایل های بزرگی که ممکن است در آن بدافزار باشد را آپلود نمایند.
  • فقط انواع خاصی از فایل ها را مجاز به آپلود کنید: لازم نیست که همه نوع پسوندی را برای آپلود در وردپرس مجاز کنید.فایل های اجرای با پسوند های چون .exe باعث بروز خطر در سایت وردپرسی شما می شوند.پس فقط فایل های خاصی که به آن نیاز دارید و از نظر امنیتی مشکل ساز نیستند را فعال کنید.
  • اجازه آپلود فایل فقط به کاربران ثبت نام شده در سایت : بهتر است که امکان آپلود فایل را فقط به کاربرانی بدهید که ابتدا در سایت شما ثبت نام کرده اند و وارد سایت شدند بدهید.زیرا در زمانی که مشکلی برای سایت شما پیش بیاید بهتر می توانید مشکل را پیدا کنید.
  • بررسی فایل از نظر آلوده بودن قابل از آپلود: حتما قبل از اینکه فایل مورد نظرتون را آپلود کنید،آن را توسط نرم افزارهای مختلف شناخت بدافزار،اسکن کنید تا مطمئن شوید فایلی که در حال آپلود آن هستید مشکلی ندارد.و حتما به صورت منظم اسکن سایت را توسط افزونه های امنیتی وردپرس انجام دهید.
  • بک آپ گیری منظم از سایت: حتما به صورت دوره ای و منظم از وب سایت خودتون بک آپ گیری کنید. تا وقتی سایت شما هک شد و یا مشکلی برایش پیش آمد بتوانید به نسخه سالم که بک آپ گرفتید رجوع کنید.

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

در رابطه با این مطلب سوال یا نظری دارید؟ می توانید آن را در بخش دیدگاه ها ارسال کنید
مهدی خاکسار
مهدی خاکسار

متخصص وردپرس و نویسنده این مطلب

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