حل مشکل پیغام ” با عرض پوزش این پرونده به دلایل امنیتی مجاز نیست ” هنگام آپلود فونت در دیوی

پست های وبلاگ دیوی
دیوی مارکتآگوست 4, 2021

امیدواریم از خواندن این مقاله لذت کافی را ببرید

اگر می خواهید قالب قدرتمند دیوی را با لایسنس اورجینال و قابلیت آپدیت اتوماتیک تهیه کنید و با ما سفری هیجان انگیز به سوی راه اندازی کسب و کاری سودآور با تجربه کنید اینجا کلیک کنید.

این نوع پرونده به دلایل امنیتی مجاز نیست !

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

البته ذکر این نکته خالی از لطف نیست که این پیغام تنها مختص به آپلود فونت نیست.

تصویر زیر نمونه ای از خطا هنگام آپلود یک فایل psd را نشان می دهد:

خطای عدم آپلود فایل به دلایل امنیتی

این خطا ممکن است در بخش های متعددی از وردپرس روی دهد که در ادامه به بررسی بیشتر این موضوع می پردازیم:

دلیل بروز خطای ” با عرض پوزش این پرونده به دلایل امنیتی مجاز نیست “

آپلود برخی فایل‌ها در وردپرس با فرمت‌هایی بجز فرمت‌های مجاز ، امکان پذیر نیست.

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

 این مشکل سبب می شود تا آپلود بسیاری از فایل‌ها با فرمت‌های معروف مانند: “svg یا Webp  یا فونت با پسوندهایی مانند woff2  ممکن نباشد.

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

فرمت های مجاز جهت آپلود فایل در وردپرس

لیست فرمت های مجاز جهت آپلود در وردپرس موارد زیر است:

  • تصاویر
    • .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 (Ogg)
    • .3gp (3GPP)
    • .3g2 (3GPP2)

فونت های مجاز قالب دیوی

قالب دیوی اجازه آپلود و استفاده از دو نوع فونت با فرمت های otf و ttf را از طریق بخش تنظمات ماژول های دارای متن دیوی بیلدر فراهم می نماند.

منبع فایل gif: وب سایت اینترکام (intercom.help)

رفع مشکل “Sorry, this type of file is not allowed for security reasons”.

برای رفع این مشکل راه های مختلفی در وردپرس و همچنین قالب Divi وجود دارد که برخی از آن ها عبارتند از:

  • ویرایش فایل wp-config
  • ویرایش فایل function.php
  • استفاده از افزونه

ویرایش فایل wp-config

ساده ترین راه برای حل این مشکل ویرایش فایل wp-config می باشد. اولا به این دلیل که اضافه کردن کد مربوط به این بخش بسیار ساده و ساده تر از ویرایش فایل function.php است (البته برای کاربران معمولی).

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

فایل wp-config.php، مغز اصلی سایت وردپرسی شما است. شما در این بخش می‌توانید تغییرات و تنظیمات وب سایت خود را از طریق هاست خود مدیریت کنید.

محل قرارد گرفتن فایل wp-config در فولدر public_html سی پنل (یا دایرکت ادمین) یا در شاخه‌ای است که وردپرس در آن نصب شده است.

با ویرایش فایل wp-config و ایجاد تغییراتی در آن می‌توانید مجوز آپلود فایل‌ با فرمت های متفاوت را صادر کنید.

بنابراین، ابتدا وارد سی پنل یا دایرکت ادمین وب سایت خود شوید. سپس بخش “فایل منیجر یا مدیریت فایل” را انتخاب نمایید.

بخش file manager هاست

پس از ورود به File Manager وارد “public_html“شوید.

ورود به public_html هاست

پس از ورود به public_html فایل wp-config.php را انتخاب و با راست کلیک بر روی آن “edit” را انتخاب کنید و قطعه کد زیر را در هر جایی قبل از خط (بالای)  “/* That’s all, stop editing. Happy blogging. */” اضافه نمایید همچنین به این نکته توجه کنید که گاهی قرار دادن کد بالای خط فوق کارایی ندارد و بایستی آن را در انتهای فایل wp-config (همانند شکل زیر) درج نمایید.

define('ALLOW_UNFILTERED_UPLOADS', true);

define(‘ALLOW_UNFILTERED_UPLOADS’, true);

همانگونه که در شکل زیر نشان داده شده است:

ویرایش فایل wp-config

نکته مهم: ذکر این نکته خالی از لطف نیست که به همان دلایل امنیتی که آپلود فایل با پسوندهای خاص غیرمجاز بوده و در حالت عادی امکان پذیر نیست استفاده از روش ویرایش فایل wp-config خود ریسک های امنیتی به همراه دارد و بهتر از بعد از تمام شدن کارتان (آپلود فایل با پسوند مدنظر) این خط کد را از فایل مورد نظر حذف و یا آن را به کامنت تبدیل کنید تا برایتان مشکلات امنیتی پیش نیاید.

ویرایش فایل function.php

روش دوم برای خلاصی از دست پیغام با عرض پوزش این پرونده به دلایل امنیتی مجاز نیست “ ویرایش فایل function.php می باشد. این فایل از جمله فایل هایی است که در فولدر چایلدتم موجود است و اگر از چایلدتم استفاده می کنید می توانید از پنل کاربری وردپرس خود (پیشخوان) و بخش “نمایش => ویرایشگر پوسته” به آن دسترسی پیدا کنید.

اگر از تم فرزند استفاده نمی کنید باز هم از همان بخش می توانید به این فایل دسترسی پیدا کنید اما در صورتی که به این بخش دسترسی ندارید، می توانید به سی پنل یا دایرکت ادمین سرویس هاست خود مراجعه و با ورود به پوشه قالب خود از طریق مسیر file manager/public_html/wp-contents/themes پوشه مربوط به پوسته‌ی فعلی وب‌سایت خود را باز کنید.
آنگاه فایل functions.php را یافته و آنرا جهت ویرایش باز کنید و سپس قطعه کد زیر را در آن اضافه کنید. نکته بسیار مهم و قابل توجه در این روش استفاده از فیلتر upload_mimes است.

  function my_divimarket_mime_types( $mimes ) { 
// New allowed mime types.
$mimes['svg'] = 'image/svg+xml';
$mimes['svgz'] = 'image/svg+xml';
$mimes['doc'] = 'application/msword';
// Optional. Remove a mime type.
unset( $mimes['exe'] );
return $mimes;
}
add_filter( 'upload_mimes', 'my_custom_mime_types' );

بهتر است توضیحاتی در خصوص این قطعه کد ارائه نماییم:

در واقع برای این کار از یک فیلتر وردپرسی استفاده کرده ایم و فیلتر مورد نظر را با استفاده از یک تابع دلخواه به نام my_divimarket_mime_types در فایل توابع قالب وب سایتمان اضافه کرده ایم.

تابع my_divimarket_mime_types شامل سه فرمت svg، svgz و doc است که این دو فرمت باید در بخش رسانه سایت وردپرسی شما قابل آپلود باشند.

در صورتی که قصد دارید مطالب بیشتر در خصوص MIME Type ها بدانید مطالعه مقاله mime type چیست در وب سایت وردپرس زوما خالی از لطف نیست.

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

نهایتا باید این تابع را با استفاده از فیلتر upload_mimes فراخوانی کنیم. پس کد زیر را در انتهای قطعه کد فوق قرار داده ایم:

add_filter( 'upload_mimes', 'my_custom_mime_types' );

اگر بخواهیم فرمت‌های دیگری را به وب سایت اضافه کنیم باید mime type آن فایل را پیدا کنید که این کار از طریق این لیست که لیست کاملی از MIME Type ها را شامل می شود امکان پذیر است. سپس بایستی کد بالا را به دلخواه خود و بر اساس فرمت یا فرمت های مورد نیاز خود ویرایش نمایید.

اگر بخواهیم برای آپلود فونت های otf و ttf در قالب دیوی این کار را انجام دهیم باید قطعه کد فوق را به صورت زیر تغییر دهیم:

 function my_divimarket_mime_types( $mimes ) {
 
// New allowed mime types.
$mimes['otf'] = 'application/x-font-otf';
$mimes['ttf'] = 'application/x-font-ttf';

// Optional. Remove a mime type.
unset( $mimes['exe'] );
 
return $mimes;
}
add_filter( 'upload_mimes', 'my_custom_mime_types' );

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

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

استفاده از افزونه

برخی از افزونه‌های وردس (پلاگین ها) امکان آپلود فایل با پسوندهای خاص را ممکن می کنند. تعدادی از این پلاگین ها عبارتند از:

  • File Manager
  • Enhanced Media
  • WP Add Mime Types
  • Mime Types Extended
  • Mime Types Plus

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

به عنوان مثال افزونه SVG Support امکان آپلود فایل های svg را در وردپرس فراهم می کند.

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

برطرف ساختن خطای امنیتی عدم آپلود فونت در قالب divi

جمع بندی

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

استفاده از کدهای ساده پی اچ پی و ویرایش فایل های function.php یا wp-config.php به سرعت این امر را امکانپذیر می سازد.

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

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

در پایان امیدواریم این مقاله به شما کمک کرده باشد تا نحوه بارگذاری انواع مختلف فایل ها در وردپرس را بیاموزید. همچنین ممکن است بخواهید نحوه افزایش حداکثر حجم بارگذاری فایل در وردپرس را نیز بدانید که در وب سایت وردپرس زوما (wpzooma) به آن پرداخته شده است.

0 Comments

Submit a Comment

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