با عرض پوزش، شما مجاز به بارگذاری این نوع پرونده نیستید! در وردپرس، زمانی که میخواهید فایلهای خاصی را در کتابخانه رسانه آپلود کنید، با خطای «متاسفیم، آپلود این نوع پرونده به دلیل مسائل امنیتی مجاز نیست» مواجه میشوید. بهطور مشابه، در ووکامرس نیز ممکن است هنگام بارگذاری یک فایل دانلودی محصول قابل دانلود، با همان خطا مواجه شوید.
چرا با این خطا در زمان آپلود فایلهای مختلف روبرو میشوید؟ خوب، بهطور پیشفرض وردپرس فقط اجازه میدهد پسوندهای فایل خاصی در سایت آپلود شوند . بهعنوانمثال PNG، JPG، PDF، PPT، DOC، MP3 و MP4 فایلهایی با فرمت مجاز هستند – دلیل آن این است که آنها “ایمن” هستند و نمیتوانند حاوی کد مخربی باشند که میتواند در نصب وردپرس مشکل ایجاد کند.
مسئله این است – تا زمانیکه بخواهید فایلهایی با فرمتهایی که در بالا نام بردیم را آپلود کنید مشکلی نخواهید داشت، اما اگر بخواهید فایلی آپلود کنید که خارج از این فرمتها باشد با خطای « با عرض پوزش این نوع پرونده به دلایل امنیتی مجاز نیست » روبرو خواهید شد.
راهنمای مطالعه:
نحوه رفع خطای این نوع پرونده به دلیل مسائل امنیتی مجاز نیست
ترسیدید؟ نه نیازی به ترسیدن نیست! تنها کاری که باید انجام دهیم این است که یک کد مناسب در سایت خود قرار دهیم تا این قابلیت امنیتی وردپرس را به صورت دلخواه کاستومایز کنیم تا در نهایت بتوانیم به سادگی آب خوردن هر نوع فایلی که نیاز داریم را در وردپرس آپلود کنیم، همچنین قرار است این کار را به صورت حرفهای و توسط کدنویسی انجام دهیم و از فیلتر « upload_mimes » استفاده خواهیم کرد، پس با این مقاله از سری مقالات آموزش وردپرس همراه آکادمی وبکیما باشید.
توجه داشته باشید که برطرف کردن این خطا مثل همیشه راهحلهای مختلفی دارد، ما سعی میکنیم در این مقاله بهترین راهحلها را به شما معرفی کنیم، شما میتوانید این خطا را به 3 روش: استفاده از پلاگین، استفاده از فایل wp-config و قرار دادن یک قطعه کد در فایل فانکشن برطرف کنید، دقت کنید که شما از راهحل اول کار را آغاز کرده و بعد از انجام هر روش آپلود را تست بگیرید و اگر مشکل برطرف شده بود دیگر نیازی به انجام روشهای بعدی نیست. پس بریم تا با اولین روش این خطا را برطرف کنیم.
روش 1 – قراردادن کد در فانکشن
هر نوع فایل با هر فرمتی را در وردپرس و ووکامرس آپلود کنید! در قطعه کد زیر به وردپرس اجازه میدهیم که فایلهای JSON و TXT به سادگی آپلود شوند. اولین قطعه کد به وردپرس میگوید که به این فرمتها اجازه آپلود دهد، بخش دوم یکی دیگر از الزامات برای پسوندهای فایل خاص است زیرا وردپرس پس از بارگذاری رسانه، اعتبارسنجی را اجرا میکند و ما باید مطمئن شویم که JSON و TXT پوشش داده شدهاند.
/**
* @snippet Fix "Sorry File Type Not Permitted" @ WooCommerce Downloadable Product + WordPress Media Library
* @author Nabi ABdi
* @compatible WooCommerce 5
* @website https://webkima.com/
*/
add_filter( 'upload_mimes', 'webkima_custom_mime_types' );
function webkima_custom_mime_types( $mimes ) {
if ( current_user_can( 'manage_woocommerce' ) ) {
$mimes['txt'] = 'text/plain';
$mimes['json'] = 'text/plain';
}
return $mimes;
}
add_filter( 'wp_check_filetype_and_ext', 'webkima_correct_filetypes', 10, 5 );
function webkima_correct_filetypes( $data, $file, $filename, $mimes, $real_mime ) {
if ( ! empty( $data['ext'] ) && ! empty( $data['type'] ) ) {
return $data;
}
$wp_file_type = wp_check_filetype( $filename, $mimes );
if ( 'json' === $wp_file_type['ext'] ) {
$data['ext'] = 'json';
$data['type'] = 'text/plain';
} elseif ( 'txt' === $wp_file_type['ext'] ) {
$data['ext'] = 'txt';
$data['type'] = 'text/plain';
}
return $data;
}
افزودن فرمتهای دیگر به قطعه کد
دقت کنید که همانطور که گفته شد در قطعه کد بالا فقط دو فرمت JSON و TXT اضافه شدهاند و اگر میخواهید فرمتهای دیگری نیز در وردپرس آپلود کنید باید mime type آن را از اینجـــــا پیدا کنید و داخل کدها جایگذاری کنید.
این قطعه را کجا اضافه کنیم؟
میتوانید کدهای PHP را در پایین فایل functions.php قالب وردپرس خود یا چایلدتم خود قرار دهید (حواستان به تگهای باز و بسته php باشد). از سوی دیگر، کدهای CSS در فایل style.css تم فرزند شما قرار میگیرد. دقت کنید که اگر با کدها آشنایی ندارید و نمیدانید که باید چگونه این موارد را انجام دهید، از یک متخصص در این زمینه کمک بگیرید – اگر به راهنمایی بیشتری نیاز دارید، مقاله فایل functions.php وردپرس را مطالعه کنید.
روش 2 – از طریق فایل wp-config.php
برای رفع خطا در این روش باید ابتدا به هاست خود مراجعه کنید سپس در روت اصلی سایت فایل wp-config.php را پیدا کرده و آن را روی حالت ویرایش ببرید، سپس در قدم بعدی قطعه کد زیر را بعد از متن That’s all, stop editing! Happy blogging قرار داده و فایل را ذخیره کنید.
define(‘ALLOW_UNFILTERED_UPLOADS’, true);
روش 3 – استفاده از پلاگین
اگر از کدهای بالا سر در نمیآورید و احساس میکنید که استفاده از پلاگین وردپرس میتواند برای شما بهتر و سادهتر باشد، پس بهتر است که از پلاگینهای رایگان مخزن وردپرس استفاده کنید، برای این کار ما از پلاگین WP Extra File Types استفاده میکنیم. بدین منظور ابتدا این پلاگین را از مخزن وردپرس نصب کنید، اگر در نصب افزونه وردپرس مشکل دارید به آموزش نصب افزونه وردپرس مراجعه کنید.
بعد از نصب و فعالسازی این پلاگین، گزینه Extra File Type که توسط این پلاگین به پیشخوان وردپرس اضافه شده است را انتخاب کنید تا به تنظیمات این افزونه هدایت شوید.
خب، حالا از لیست فایلهایی که در تصویر بالا مشاهده میکنید، هر فایلی با هر فرمتی که میخواهید را انتخاب کنید، تا در نهایت بتوانید به سادگی فرمتهای مورد نیاز خود را در بخش رسانههای وردپرس آپلود کنید.
جمع بندی
در این مقاله نحوه رفع خطای با عرض پوزش این نوع پرونده به دلایل امنیتی مجاز نیست در وردپرس را به صورت کامل و حرفهای آموزش دادیم، دقت کنید که بهترین روش برطرف این خطا دقیقا همین روشی است که در این مقاله آموزش داده شده است و سعی کنید برای رفع خطاهایی به این شکل تا حد امکان از افزونههای رایگان مخزن وردپرس استفاده نکنید.
همچنین هرگونه سوالی در رابطه با خطای این نوع پرونده به دلایل امنیتی مجاز نیست و کدهای این مقاله دارید در انتهای همین صفحه و در بخش کامنتها مطرح کنید تا تیم پشتیبانی پاسخگوی سوالات شما عزیزان باشند.
دیدگاه و پرسش