رفع ارور آپلود این نوع پرونده به دلیل مسائل امنیتی مجاز نیست
احتمالا شما هم وقتی در حال بارگزاری یک فایل در وب سایت وردپرس خود بوده اید، با خطای با عرض پوزش، این نوع پرونده به دلایل امنیتی مجاز نیست. (Sorry, This File Type Is Not Permitted For Security Reasons) روبرو شده اید. این خطا به این معناست که وردپرس از نوع فایلی که بارگذاری کردید پشتیبانی نمی کند. با چند تکه کد و به سادگی به شما روش رفع این خطا را آموزش می دهیم.
خطای با عرض پوزش، این نوع پرونده به دلایل امنیتی مجاز نیست به این معناست که وردپرس از نوع فایلی که بارگذاری کردید پشتیبانی نمی کند. با افزودن یک قطعه کد کوچک به فایل wp-config.php یا function.php سایت خود یا استفاده از یک افزونه رایگان، می توانید لیست انواع فایل های مجاز را به صورت دستی گسترش دهید تا بتوانید هر نوع فایلی را بارگذاری کنید و با خطای این نوع پرونده به دلیل مسائل امنیتی مجاز نیست روبرو نشوید.
انواع فایل مجاز وردپرس
وردپرس طیف گسترده ای از انواع فایل ها از جمله رایج ترین تصاویر، ویدئو ، سند و فرمت های صوتی را پشتیبانی می کند. این نوع فایلهای Multipurpose Internet Mail Extensions یا MIME به مرورگرها کمک می کند تا بفهمند چه نوع محتوایی در یک صفحه وب بارگذاری شده است. به عنوان مثال، اگر یک فایل .jpeg و .png بارگذاری کنید، مرورگر از MIME خود استفاده می کند تا تشخیص دهد که هر دو فایل تصویری هستند. به طور مشابه، اگر یک فایل .mp3 یا .wav بارگذاری کنید، MIME به مرورگر سیگنال می دهد که این فایل های صوتی هستند.
وردپرس از بارگذاری انواع فایل های زیر پشتیبانی می کند:
تصاویر : .jpg ،.jpeg ،.png ،.gif ،.ico.
سند : .pdf ،.doc ،.docx ،.ppt ،.pptx ،.pps ،.ppsx ،.odt ،.xls ،.xlsx ،.psd.
صوتی : mp3 ،.m4a ،.ogg ،.wav.
ویدیو : mp4 ،.m4v ،.mov ،.wmv ،.avi ،.mpg ،.ogv ،.3gp ،.3g2.
این فایلها کاملاً رایج هستند. با این حال، ممکن است بخواهید نوع فایلی را که در این لیست نیست بارگذاری کنید.
رفع مشکل : با عرض پوزش، این نوع پرونده به دلایل امنیتی مجاز نیست
برای حل این مشکل، راه حلهای مختلفی وجود دارد.
در این بخش به بررسی چند راه حل مرسوم میپردازیم:
استفاده از افزونههایی که آپلود فایلها را مجاز میکند.
برخی افزونهها در وردپرس وجود دارند که امکان آپلود برخی فایلها را با فرمتهای خاص مجاز میکند.
این افزونهها عبارتند از:
- WP Add Mime Types
- Mime Types Extended
- Mime Types Plus
البته در نظر داشته باشید که افزونههایی مخصوص آپلود فایل با فرمتهای خاص مانند SVG وجود دارد.
ایجاد تغییرات در wp-config.php برای مجاز کردن تمامی فرمت ها
بخش wp-config.php، مغز اصلی وردپرس شما میباشد. در این بخش شما میتوانید تغییرات و تنظیمات وردپرس را از طریق هاست خود مدیریت کنید.
محل اصلی wp-config در محل public_html وبسایت شما، یا در شاخهای که وردپرس در آن نصب شده است، میباشد.
در بخش wp-config، شما میتوانید با ایجاد تغییراتی، مجوز آپلود تمامی فایلها با پسوندها را صادر کنید.
بنابراین، ابتدا وارد دایرکت ادمین شوید. سپس بخش “مدیرت فایل” را انتخاب کنید.
سپس با انتخاب دامنه مورد نظر، وارد بخش “public_html” شوید. (اگر وردپرس را در شاخهی دیگری نصب کردهاید وارد شاخهی مربوطه شوید.)
در این بخش فایل “wp-config.php” را انتخاب کرده و بر روی Edit کلیک کنید.
در بخشی از این ادیتور (معمولا در بخش انتهایی آن)، میتوانید کد زیر را وارد کنید:
define(‘ALLOW_UNFILTERED_UPLOADS’, true);
سپس فایل مربوطه را ذخیره کنید.
ایجاد تغییرات در بخش functions.php برای مجاز کردن یک فرمت خاص
اگر میخواهید فرمت خاصی از یک فایل قابلیت آپلود شدن را داشته باشد، میتوانید با قرار دادن یک کد در بخش functions.php ، نسبت به اعمال این تغییرات اقدام کنید.
البته توجه داشته باشید که اعمال این تغییرات باید توسط متخصص طراحی وبسایت انجام شود و اگر شما اطلاعات کافی در این زمینه ندارید، لطفا از انجام آن بپرهیزید.
بخش functions.php از طریق تنظیمات پوستهی شما در دسترس میباشد.
اگر به این بخش دسترسی ندارید، با ورود به محل نصب وردپرس، بخش wp-contents/themes ، پوستهی فعلی وبسایت خود را انتخاب کنید. سپس بخش functions.php را با ادیتور خود باز کنید.
سپس کد زیر را داخل آن قرار دهید.
function enable_extended_upload ( $mime_types =array() )
{
$mime_types[‘gz’] = ‘application/x-gzip’;
$mime_types[‘zip’] = ‘application/zip’;
$mime_types[‘rtf’] = ‘application/rtf’;
$mime_types[‘ppt’] = ‘application/mspowerpoint’;
$mime_types[‘ps’] = ‘application/postscript’;
$mime_types[‘flv’] = ‘video/x-flv’;
unset( $mime_types[‘exe’] );
unset( $mime_types[‘bin’] );
return $mime_types;
}
add_filter(‘upload_mimes’, ‘enable_extended_upload’);
در کد بالا، میتوانید به دلخواه کدهای خود را تغییر دهید.
تابع mime_types در اصل مشخص کنندهی فرمتهای مجاز برای آپلود فایل میباشد.
همچنین تابع unset( $mime_types[‘bin’] ) نیز مشخص کنندهی فرمتهایی است که اجازهی آپلود نخواهند داشت.