وردپرس به دلایل امنیتی محدودیتهایی برای آپلود فرمتهای فایلها اعمال کرده است. برخی از فرمتها میتوانند حاوی کدهای مخرب یا اسکریپتهای جاوااسکریپت باشند که میتوانند به وبسایت آسیب برسانند یا دادههای کاربران را تهدید کنند. بهعنوان مثال، فایلهای SVG که برای نمایش گرافیکهای برداری استفاده میشوند، میتوانند بهراحتی کدهای مخرب را در خود جای دهند. این کدهای مخرب میتوانند به سایت نفوذ کنند و اطلاعات حساس را به خطر بیندازند. بنابراین، وردپرس برای محافظت از کاربران و جلوگیری از هک شدن وبسایتها، بهصورت پیشفرض فقط اجازه آپلود فرمتهای امن و پرکاربرد مانند JPEG، PNG، و PDF را میدهد.
در این آموزش قصد داریم تا نحوه کامل آموزش افزودن فرمت غیرمجاز برای آپلود در وردپرس را به شما آموزش دهیم.
افزودن فرمت غیرمجاز برای آپلود در وردپرس
یکی از محدودیتهایی که کاربران وردپرس ممکن است با آن مواجه شوند، عدم امکان آپلود برخی فرمتهای غیرمجاز فایلها مانند SVG، WebP، و دیگر فرمتهای کمتر شناختهشده است. این محدودیتها ممکن است در نگاه اول مشکلساز به نظر برسند، اما هدف اصلی وردپرس از اعمال این محدودیتها، افزایش امنیت وبسایتهاست.در ادامه قصد داریم تا بررسی چندین روش کاربردی و تست شده بتوانیم اقدام به افزودن فرمت غیرمجاز برای آپلود در وردپرس کنیم.
روش اول: استفاده از افزونه
اولین روش برای حل این مشکل استفاده از افزونه است.البته روش های دیگری هم به غیر از افزونه وجود دارد که در مراحل بعدی به طور مفصل با هم بررسی خواهیم کرد.اما افزونه که قصد داریم از طریق آن این مشکل را حل کنیم،افزونه WP Extra File Types می باشد.
برای نصب این افزونه می توانید از طریق آموزش نصب افزونه در وردپرس اقدام به نصب و فعالسازی این افزونه نمایید.پس از نصب افزونه از قسمت منو تنظیمات گزینه ای تحت عنوان Extra File Types برای شما نمایش داده می شود که می توانید با کلیک کردن روی آن به مسیر تنظیمات این افزونه هدایت شوید.
در این صفحه شما می توانید آن دسته از فایل هایی را که وردپرس به شما اجازه آپلود را نمی دهد را تیک بزنید و سپس گزینه ذخیره تنظیمات را کلیک کنید.با این کار شما آن محددیت را برداشته اید و خواهید توانست فایل مورد نظر خود را آپلود کنید.
روش دوم: استفاده از کدنویسی
اگر از آن دسته افردی هستید که دوست ندارید افزونه های اضافه زیادی بر روی سایتتان نصب باشد می توانید از این روش استفاده کنید.
در این روش ابتدا باید وارد فایل منیحر هاست خودتان بروید و از مسیر /public_html/wp-content/themes/ به دنبال فایلی با نام functions.php بگردید.پس از پیدا کردن این فایل کافی است با راست کلیک کردن و انتخاب گزینه Edit این فایل را ویرایش کنید.
در مرحله بعد کد زیر را درون فایل قرار بدهید و دکمه ذخیره سازی را بزنید تا تغییرات شما ذخیره شود.
function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
$mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
در کد بالا همانطور که مشاهده می کنید به ترتیب فایل های با فرمت svg و psd به لیست فایل های مجاز اضافه شده است تا به ما اجازه آپلود همچین فرمت هایی را بدهد.شما برای اضافه کردن فرمت های بیشتر کافی است تا به ترتیب فایل های خود را به این لیست اضافه کنید.
روش سوم: غیرفعال کردن سیستم امنیتی آپلود فایل در وردپرس
ورپرس از یک سیستم امنیتی استفاده کرده است که شما هنگام آپلود فایل های غیرمجاز با خطای متاسفانه این نوع پرونده به دلیل مسایل امنیتی مجاز نیست مواجه می شوید.برای غیرفعالسازی این سیستم امنیتی کافی است تا به مسیر public_html بروید و در همین مسیر به دنبال فایل wp-config.php بگردید و آن را ویرایش کنید و به دنبال تکه کد زیر بگردید:
define('WP_DEBUG', false);
در صورتی که این خط وجود نداشت آن را به بخشی که کدها با define آغاز میشوند اضافه کنید و سپس قطعه کد زیر را بعد از این خط قرار دهید:
define('ALLOW_UNFILTERED_UPLOADS', true);
پس از اضافه کردن این کد به فایل خودتان شما امکان آپلود هر فایل وفرمتی را خواهید داشت.اما توجه کنید که وردپرس قصد اذیت کردن ما را ندارد و حتما دلایلی برای این کار وجو داشته است که اجازه هر فایلی را به سیستم نمی دهد.بنابراین برای عدم ویروسی شدن سایت خود توصیه می کنم که بعد از آپلود فایل خود حتما مقدار کد بالا را از true به false تغییر بدهید تا در اینده سایت شما دچار مشکلات احتمالی نشود.
امیدوارم این آموزش برای شما کاربردی و مفید بوده باشد.توی این آموزش سعی شد تمام روش های ممکن افزودن فرمت غیرمجاز برای آپلود در وردپرس را با هم یاد بگیریم.پس چنانچه سوالی در این خصوص داشتید می توانید از قسمت درج نظرات با ما در میان بگذارید.