فروشگاه فیگووب

رفع هشدار متأسفیم ، این نوع پرونده به دلایل امنیتی مجاز نیست در وردپرس

حتماً با این پیام مواجه شده اید پیام خطا این نوع پرونده مجاز نیست – ❌ “متأسفیم ، این نوع پرونده به دلایل امنیتی مجاز نیست.” هنگام بارگذاری تصاویر در سایت وردپرسی خود. این پیامی است که هنگام بارگذاری پرونده با استفاده از ابزار بارگذاری وردپرس ، یک پسوند پیش فرض ممنوع برای CMS مورد علاقه شما ، ظاهر می شود. اما شما به هر عنوان دوست دارید یا باید یک پرونده به فرض مثال svg را در اپلودر وردپرس اپلود کنید. در اینجا به خوبی برای شما توضیح دادیم که چگونه با روش های متفاوت فایل های غیرمجاز را اپلود کنید.

اینها برخی از سوالات متداول موجود در مورد این پیام خطای وردپرس است.

  • images – چگونه می توانم رفع «متأسفم ، این نوع پرونده به دلایل امنیتی مجاز نیست .svg، .jpg، .ovg، .png؟
  • نوع پرونده بارگذاری مجاز نیست حتی اگر صریحاً ثبت شده باشد
  • php – چگونه می توانم دور و برم “متأسفم ، این نوع پرونده مجاز نیست؟
  • خطای بارگذاری – upload_mimes CSV را قبول نمی کند – وردپرس

اپلود پرونده غیرمجاز

اگر می خواهید زندگی خود را بدون نیاز به لمس کردن کد خود ساده کنید ، همچنین می توانید از افزونه ها برای افزودن پسوندهای پرونده بیشتر استفاده کنید ، که به شما امکان می دهد (با یک رابط) آنچه را که قصد دارم در این مقاله توصیف کنم ، بدانم. در اینجا با wp add mime types بیشتر آشنا خواهید شد ، چرا این خطای وردپرس رخ می دهد؟ & ❌ نحوه رفع “متأسفیم ، این نوع پرونده به دلایل امنیتی مجاز نیست” با استفاده از پلاگین ها.

اولاً ، ما باید در مورد

انواع MIME چیست؟

MIME مخفف MultiPurpose Internet Mail Extensions است. انواع MIME توسط مرورگرها و سایر دستگاه های اینترنتی برای تعیین نوع محتوای مرتبط با یک صفحه استفاده می شود. به عنوان مثال ، اگر یک فایل .png و یک پرونده .jpeg در صفحه داشته باشید ، مرورگر با توجه به نوع MIME خود می داند که هر دو پرونده را به جای فیلم یا انواع دیگر فایل ، به عنوان تصویر در نظر بگیرد.

وردپرس لیستی از انواع میم های ثبت شده ذخیره شده در wp-includes/functions.php را دارد. با استفاده از تابع ()wp_get_allowed_mime_types می توانید لیستی از انواع MIME را که وردپرس تشخیص می دهد ، بدست آورید. این پرونده ها انواع پرونده های شناخته شده توسط وردپرس هستند. با این حال ، همه انواع MIME شناخته شده مجاز به بارگذاری در داشبورد مدیریت وردپرس نیستند.

چرا این پیام خطای وردپرس را مشاهده می کنید؟

همانطور که به طور پیش فرض وردپرس پیکربندی شده است ، از قسمت مدیریت می توانیم تصاویر ، اسنادی مانند PDF ، Word ، Pages ، OpenOffice و حتی فایل های صوتی ، میدی و ویدیویی را در سرور بارگذاری کنیم. این لیست پرکاربردترین پسوندهای پرونده است که اگر ما تغییری ایجاد نکرده ایم ، آنها را می پذیرید. اگر به مرجعی برای اضافه کردن انواع MIME در سراسر وب نیاز دارید ، این لیست جامع را مشاهده کنید. برای اطلاعات بیشتر در مورد مجاز بودن پرونده ها ، به بارگذاری اسناد پرونده ها مراجعه کنید

لیستی از انواع MIME و پسوندهای پرونده آنها توسط وردپرس پشتیبانی می شود

پسوند هانوع MIME
.jpgimage/jpeg, image/pjpeg
.jpegimage/jpeg, image/pjpeg
.pngimage/png
.gifimage/gif
.icoimage/x-icon
.pdfapplication/pdf
.docapplication/msword
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
.pptapplication/mspowerpoint, application/powerpoint, application/vnd.ms-powerpoint, application/x-mspowerpoint
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentation
.ppsapplication/mspowerpoint, application/vnd.ms-powerpoint
.ppsxapplication/vnd.openxmlformats-officedocument.presentationml.slideshow
.odtapplication/vnd.oasis.opendocument.text
.xlsapplication/excel, application/vnd.ms-excel, application/x-excel, application/x-msexcel
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.psdapplication/octet-stream
.mp3audio/mpeg3, audio/x-mpeg-3, video/mpeg, video/x-mpeg
.m4aaudio/m4a
.oggaudio/ogg,
.wavaudio/wav, audio/x-wav
.mp4video/mp4
.m4vvideo/x-m4v
.movvideo/quicktime
.wmvvideo/x-ms-asf, video/x-ms-wmv
.aviapplication/x-troff-msvideo, video/avi, video/msvideo, video/x-msvideo
.mpgaudio/mpeg, video/mpeg
.ogvvideo/ogg
.3gpvideo/3gpp, audio/3gpp
.3g2video/3gpp2, audio/3gpp2

انواع دیگر MIME توسط وردپرس شناخته شده است.

پسوند هاMIME TYPE
.bmpimage/bmp
.tifimage/tiff
.tiffimage/tiff
.asfvideo/x-ms-asf
.asxvideo/x-ms-asf
.wmvideo/x-ms-wm
.wmxvideo/x-ms-wmx
.divxvideo/divx
.flvvideo/x-flv
.qtvideo/quicktime
.mpevideo/mpeg
.webmvideo/webm
.mkvvideo/x-matroska
.txttext/plain
.asctext/plain
.ctext/plain
.cctext/plain
.htext/plain
.csvtext/csv
.tsvtext/tab-separated-values
.icstext/calendar
.rtxtext/richtext
.csstext/css
.htmtext/html
.htmltext/html
.m4baudio/mpeg
.raaudio/x-realaudio
.ramaudio/x-realaudio
.midaudio/midi
.midiaudio/midi
.waxaudio/x-ms-wax
.mkaaudio/x-matroska
.rtfapplication/rtf
.jsapplication/javascript
.swfapplication/x-shockwave-flash
.classapplication/java
.tarapplication/x-tar
.zipapplication/zip
.gzapplication/x-zip
.gzipapplication/x-zip
.rarapplication/rar
.7zapplication/x-7z-compressed
.exeapplication/x-msdownload
.potapplication/vnd.ms-powerpoint
.wriapplication/vnd.ms-write
.xlaapplication/vnd.ms-excel
.xltapplication/vnd.ms-excel
.xlwapplication/vnd.ms-excel
.mdbapplication/vnd.ms-access
.mppapplication/vnd.ms-project
.docmapplication/vnd.ms-word.document.macroEnabled.12
.dotxapplication/vnd.openxmlformats-officedocument.wordprocessingml.template
.dotmapplication/vnd.ms-word.template.macroEnabled.12
.xlsmapplication/vnd.ms-excel.sheet.macroEnabled.12
.xlsbapplication/vnd.ms-excel.sheet.binary.macroEnabled.12
.xltxapplication/vnd.openxmlformats-officedocument.spreadsheetml.template
.xltmapplication/vnd.ms-excel.template.macroEnabled.12
.xlamapplication/vnd.ms-excel.addin.macroEnabled.12
.pptmapplication/vnd.ms-powerpoint.presentation.macroEnabled.12
.ppsmapplication/vnd.ms-powerpoint.slideshow.macroEnabled.12
.potxapplication/vnd.openxmlformats-officedocument.presentationml.template
.potmapplication/vnd.ms-powerpoint.template.macroEnabled.12
.ppamapplication/vnd.ms-powerpoint.addin.macroEnabled.12
.sldxapplication/vnd.openxmlformats-officedocument.presentationml.slide
.sldmapplication/vnd.ms-powerpoint.slide.macroEnabled.12
.onetocapplication/onenote
.onetoc2application/onenote
.onetmpapplication/onenote
.onepkgapplication/onenote
.odpapplication/vnd.oasis.opendocument.presentation
.odsapplication/vnd.oasis.opendocument.spreadsheet
.odgapplication/vnd.oasis.opendocument.graphics
.odcapplication/vnd.oasis.opendocument.chart
.odbapplication/vnd.oasis.opendocument.database
.odfapplication/vnd.oasis.opendocument.formula
.wpapplication/wordperfect
.wpdapplication/wordperfect
.keyapplication/vnd.apple.keynote
.numbersapplication/vnd.apple.numbers
.pagesapplication/vnd.apple.pages

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

نمونه کد اپلود svg در وردپرس

با ضافه کردن کد زیر به فایل function.php می توانید تصاویر svg کنید. نوع MIME در کد زیر می توانید به وردپرس اجازه دهید که فایل دستوری شما را اپلود کنند و دیگر مجاز باشد.

/**
 * Add svg support fgiuweb
 */
add_filter( 'wp_check_filetype_and_ext', function( $data, $file, $filename, $mimes) {
      global $wp_version;
      if( $wp_version == '4.7' || ( (float) $wp_version < 4.7 ) ) {
      return $data;
    }
    $filetype = wp_check_filetype( $filename, $mimes );
      return [
      'ext'             => $filetype['ext'],
      'type'            => $filetype['type'],
      'proper_filename' => $data['proper_filename']
    ];
}, 10, 4 );

function ns_mime_types( $mimes ){
   $mimes['svg'] = 'image/svg+xml';
   return $mimes;
}
add_filter( 'upload_mimes', 'ns_mime_types' );

function ns_fix_svg() {
  echo '<style type="text/css">.attachment-266x266, .thumbnail img { width: 100% !important; height: auto !important;} </style>';
}
add_action( 'admin_head', 'ns_fix_svg' );

نوع پرونده MIME را اضافه یا حذف کنید

تا آنجا که به ما مربوط بود ، ما با یک مشکل sc2replay (پخش مجدد بازی ویدیویی Starcraft 2) به مشکل برخوردیم. این دستکاری کاملاً ساده است ، و شامل قرار دادن چند خط در فایل توابع function.php است که به طور معمول در ریشه موضوع شما قرار دارد (in / wp-content / theme / your-theme /).

اگر از نوع mime پسوند پرونده ای که می خواهید اضافه کنید اطلاع ندارید ، توصیه می کنیم کمی در Google جستجو کنید.

مراقب باشید ، این خطوط کدها را در دسترس داشته باشید زیرا هنگام تغییر موضوع وبلاگ خود ، باید این سطرها را در موضوعی که استفاده می کنید وارد کنید.

// function of new_update_mime()
add_filter('upload_mimes', 'new_update_mime'); 
// $existing_mimes from the list exist
function non_update_mime ( $existing_mimes = array() ) {
   $existing_mimes['sc2replay'] = 'application/octet-stream';
   return $existing_mimes;
} 

To remove a mime type, you can use unset in your function: 
unset( $existing_mimes['exe'] );

انواع میم های سفارشی را به وردپرس اضافه کنید

//The following goes in a themes functions file or a custom hooks plugin

function custom_upload_mimes ( $existing_mimes ) {
    $existing_mimes['epub'] = 'application/epub+zip';
    $existing_mimes['mobi'] = 'application/x-mobipocket-ebook';
 
    return $existing_mimes;
}
 
add_filter('upload_mimes', 'custom_upload_mimes');

چگونه “با عرض پوزش ، این نوع پرونده به دلایل خطای امنیتی پشتیبانی نمی شود” در وردپرس را برطرف کنیم؟

این مسئله با روشهای زیر قابل حل است:

  • اصلاح فایل functions.php طرح زمینه
  • نصب افزونه های وردپرس
  • ویرایش wp-config.php
  • با استفاده از تنظیمات چند سایته

اصلاح فایل functions.php قالب

کاری که می خواهیم انجام دهیم این است که یک زمینه را در تنظیمات وردپرس ادغام کنیم (در اینجا تنظیمات> رسانه> ارسال پرونده ها) برای شخصی سازی پسوندهای مجاز.

هنوز ، در پرونده توابع.php طرح زمینه خود ، می توانید این خطوط کد را وارد کنید تا یک قسمت پارامتر سفارشی «ext» وارد کنید (بعداً می توانید با تابع get_option («ext») تماس بگیرید تا نتیجه این قسمت را بگیرید).

add_action('admin_init','add_media_field'); 
function add_media_field() {
   add_settings_section( 'fichier', __('new fichiers'), 'display_ext', 'media' );
   register_setting( 'media', 'ext' );
} 
function display_ext(){

   echo '<input style="width: 85%;" name="ext" value="'.get_option('ext').'" type="text" id="ext" size="30"></input>';
   echo __('get it to the point (press space bar, ex: "mp3 doc gif")');
} 

به طور خلاصه این خطوط کد add_action (‘admin_init’ ، ‘add_media_field’) وقتی کاربر در منطقه wp-admin وردپرس باشد ، عملکرد ()add_media_field را شروع می کند. تابع ()add_media_field بخشی (add_settings_section) “ارسال پرونده” را اضافه می کند و با درج ()display_ext نمایش بخشی در صفحه سمت راست (تنظیمات> رسانه) وظیفه دارد. Register_setting (‘media’، ‘ext’) مسئول ثبت گزینه ‘ext’ است که توسط فرم ارسال می شود.

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

add_settings_field( ‘ext’, ‘Extension’, ‘display_ext’, ‘media’, ‘default’, array( ‘label_for’ => ‘ext’ ) ); 

این چند خط به ما امکان افزودن گزینه ای در دولت را می دهد. اکنون ، ما همیشه باید انواع مرتبط با گزینه “ext” را اضافه کنیم تا بتوانیم از رسانه وردپرس با پسوندهای مورد نظر خود استفاده کنیم. برای این منظور ، ما به یک فایل خاص شامل بیش از 600 پسوند پرونده و انواع مربوط به آنها نیاز داریم. فایل types-mimes.php_.txt را جستجو و بارگیری کنید و با تغییر نام آن به ‘types-mimes.php’ آن را در پوشه “inc” تم خود قرار دهید.

اکنون ، همیشه در پرونده “functions.php” از طرح زمینه خود ، این مورد را اضافه کنید:

add_filter('upload_mimes', 'custom_upload_mimes'); 
function custom_upload_mimes ($existing_mimes = array()) {
   $mimetype = new mimetype();
   $file_types = get_option('ext');
   $variables = explode(' ', $file_types); 
   foreach($variables as $value) {
       $value = trim($value);
       if(!strstr($value, '/')) {
           $mime = $mimetype->privFindType($value);
       } else {
           $mime = $value;
       }
       $existing_mimes[$value] = $mime;
   }
   return $existing_mimes;
} 
class mimetype {

  function privFindType($ext) {
     $mimetypes = $this->privBuildMimeArray(); 
     if (isset($mimetypes[$ext])) {
        return $mimetypes[$ext];
     } else {
        return 'application/octet-stream';
     } 
  } 
   function privBuildMimeArray() {
       require_once('inc/types-mimes.php');
       return $types;
   }
} 

تابع ()custom_upload_mimes از لیست پسوندها عبور می کند و از کلاس mimetype برای مرتبط کردن آن با نوع mime استفاده می کند. اگر هیچ نوع پیدا نشد ، پسوند نوع میمی را ‘application / octet-stream’ می گیرد.

استفاده از افزونه های وردپرس برای افزودن انواع MIME

سه افزونه معمولاً مورد استفاده شامل Pro Mime Types، Disable Real MIME Check، WP Add Mime Types یا WP Extra File Types ، که هر دو وردپرس را قادر می سازد انواع فایل های دیگر را نیز تشخیص دهد (مانند .epub یا .mobi از کتابهای الکترونیکی).

Pro Mime Types

با استفاده از این افزونه وردپرس می توانید به راحتی چنین خطاهایی را برطرف کنید. هم برای یک سایت و هم برای چندین سایت کار می کند.

در اینجا مراحل لازم وجود دارد:

  • افزونه را نصب کنید و آن را فعال کنید.
  • به تنظیمات -> تنظیمات نوع Mime بروید.

اکنون باید همان نوع میمی را که می خواهید بارگذاری کنید اضافه کنید – افزونه ای که هنوز پشتیبانی نمی شود. تقریباً همه انواع مشابه را می توانید در اینجا پیدا کنید.

نوع Mime باید در قالب خاصی اضافه شود. به عنوان مثال ، برای فعال کردن بارگیری پرونده های .abiword ، باید خط زیر را اضافه کنید:

  • AbiWord=application/x-abiword

پس از پایان کار ، روی دکمه ذخیره ضربه بزنید. نوع Mime جدید در پایین لیست ، با رنگ قرمز ظاهر می شود.

WP Add Mime Types

این افزونه علاوه بر آن انواع mime و پسوندهای پرونده را به وردپرس امکان پذیر می کند. به عبارت دیگر ، سایت وردپرسی شما می تواند پسوندهای مختلف فایل را بارگذاری کند.

تنظیم نوع پرونده MIME با افزونه WP Add Mime Types

Disable Real MIME Check

بسیاری از کاربران پس از به روزرسانی موتور به وردپرس 4.7.1 با مشکل عدم امکان بارگیری فایل های سایت به غیر از تصاویر در سایت مواجه شدند. هنگامی که می خواهید یک فایل .doc معمولی را در سایت بارگیری کنید ، موتور این پیام را نمایش می دهد:

“متأسفیم ، به دلایل امنیتی نوع این پرونده مجاز نیست.”

این مشکل همه کاربران موتور را تحت تأثیر قرار نداد ، بلکه تعداد کمی از کاربران را تحت تأثیر قرار داد. این یک اشکال رسمی ثبت شده است که باید در نسخه 4.7.2 برطرف شود. اما اگر اکنون باید پرونده ها را بارگیری کنید ، چه می کنید؟ می توانید از پلاگین Disable Real MIME Check استفاده کنید که این مشکل را برطرف می کند.

افزونه را بارگیری و نصب کنید:

1 بایگانی را باز کنید.

2 پوشه disable-real-mime-check را در / wp-content / plugins / کپی کنید.

3 به صفحه مدیر سایت در برگه “Plugins” بروید و افزونه را فعال کنید.

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

function wph_disable_mime_check ( $ data ,  $ file , $ filename , $ mimes ) {
   $ wp_filetype  = wp_check_filetype ( $ filename ,  $ mimes ) ;
   $ ext  = $ wp_filetype [ 'ext' ] ;
   $ type  = $ wp_filetype [ 'type' ] ;
   $ proper_filename  = $ data [ 'proper_filename' ] ;
   return  compact ( 'ext' ,  'type' , 'proper_filename' ) ;
}
add_filter ( 'wp_check_filetype_and_ext' ,  'wph_disable_mime_check' , 10 , 4 ) ;

البته این افزونه راحت تر است ، زیرا به ویرایش دستی پرونده های تم نیاز ندارد.

3. ویرایش فایل wp-config.php

پرونده “wp-config.php” در دایرکتوری ریشه نصب وردپرس شما قرار دارد ، در همان محل پوشه های “wp-admin” ، “wp-include” و “wp-content”. این فایل شامل بسیاری از اطلاعات لازم برای کار با وردپرس است. اگر این فایل به درستی نصب نشده باشد ، وردپرس کار نمی کند ، به این معنی که سایت شما در دسترس نخواهد بود یا داده های نادرست حتی ممکن است نصب شما را از بین ببرند.

برای اجازه دادن به هر نوع پرونده ، تنها کاری که باید انجام دهید این است:

با استفاده از سرویس گیرنده FTP یا File Manager وارد وب سایت خود شوید.
به فهرست نصب وردپرس بروید و فایل wp-config.php را جستجو کنید. ویرایش کنید
کد زیر را در هر کجای بالای خط که می گوید “این همه است ، ویرایش را متوقف کنید!” بچسبانید. وبلاگ نویسی مبارک:

define(‘ALLOW_UNFILTERED_UPLOADS’, true);

4. استفاده از تنظیمات چندرسانه ای وردپرس

در WordPress Multisite می توانید نوع فایلی را که می خواهید بارگذاری کنید در گزینه “Upload file types” در منطقه مدیر شبکه اضافه کنید.

ناحیه سرپرست شبکه -> تنظیمات -> تنظیمات بارگذاری

استفاده از تنظیمات چندرسانه ای وردپرس

با ارائه دهنده میزبانی خود تماس بگیرید

اگر قبلاً تمام مراحل ذکر شده را امتحان کرده اید و به نظر می رسد هیچ کاری برای شما مفید نیست ، ممکن است مفید باشد که با ارائه دهنده خدمات میزبانی خود تماس بگیرید. گاهی اوقات ، ارائه دهندگان میزبانی برخی از قالب های فایل را محدود می کنند تا برخی از امنیت را ایجاد کنند ، و آنها می توانند شما را از این طریق بهتر راهنمایی کنند.

نتیجه

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

اگر سوالی دارید ، کارشناسان ما خوشحال می شوند که به آنها پاسخ دهند.

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام فیگووب عضو شوید.

نظر شما در این‌باره چیست؟

دیدگاهتان را بنویسید

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