آموزش گام‌ به‌ گام اضافه کردن MIME Types در وردپرس

آموزش گام‌ به‌ گام اضافه کردن MIME Types در وردپرس
تیم محتوا
مدت زمان مطالعه : 11 دقیقه
0 کامنت
۱۴۰۴/۰۳/۱۷

آیا تا به حال خواسته‌ اید فایل‌ هایی با فرمت‌ های خاص (مانند SVG، PSD، AI یا حتی فایل‌ های صوتی و تصویری کمتر رایج) را مستقیماً در وردپرس آپلود کنید، اما با پیغام “خطای امنیتی” مواجه شده‌ اید؟

وردپرس به دلایل امنیتی، تنها به شما اجازه آپلود فرمت‌ های فایل محدودی را می‌ دهد. اما نگران نباشید! این محدودیت به معنای پایان کار نیست.

در این مقاله، قدم به قدم به شما آموزش می‌ دهیم که چگونه با افزودن MIME Types در وردپرس 3.0.3، این دیوار را بشکنید و کنترل کاملی بر انواع فایل‌ هایی که می‌ توانید در سایت خود به اشتراک بگذارید، به دست آورید. با ما همراه باشید تا وب‌ سایت خود را به یک مرکز محتوای چند رسانه‌ ای واقعی تبدیل کنید!

بررسی انواع MIME Types در وردپرس و نقش افزونه‌ ها

MIME مخفف عبارت Multipurpose Mail Extensions است. MIME type ها توسط مرورگرها و سایر دستگاه های اینترنتی و برای تعیین نوع محتوای مرتبط با یک صفحه، استفاده می شود.

به عنوان مثال، اگر یک فایل png. و یک فایل jpeg. در صفحه دارید، مرورگر به وسیله  MIME type تشخیص می دهد که هر دو فایل را به عنوان تصویر در نظر بگیرد نه ویدیو و فایل های دیگر.

بررسی افزونه MIME type

وردپرس به طور پیش‌ فرض لیستی از فایل‌ های قابل قبول دارد. توسعه‌ دهندگان می‌ توانند این لیست را در فایل wp-includes/functions.php و با استفاده از کد زیر مشاهده کنند:

wp_get_allowed_mime_types()

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

اگر بخواهید فایلی را آپلود کنید که فرمت آن توسط وردپرس پشتیبانی نمی‌ شود، با پیام “Sorry, this file type is not permitted for security reasons” مواجه خواهید شد.

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

اینکه وردپرس یک نوع فایل (MIME type) را می‌ شناسد، به این معنی نیست که می‌ توانید آن را در بخش مدیریت آپلود کنید.

وردپرس برای آپلود فایل‌ ها محدودیت‌ هایی دارد. در ادامه، لیستی از فرمت‌ های فایل و MIME type های مربوطه‌ شان را خواهید دید که می‌ توانید بدون مشکل در بخش مدیریت وردپرس (wp-admin) آپلود کنید.

فرمت فایل نوع MIME 
.jpg    image/jpeg, image/pjpeg
.jpeg   image/jpeg, image/pjpeg
.png  image/png
.gif image/gif
.ico  image/x-icon
.pdf  application/pdf
.doc application/msword
.docx  application/vnd.openxmlformats-officedocument.wordprocessingml.document
.ppt application/mspowerpoint, application/powerpoint, application/vnd.ms-       powerpoint, application/x-mspowerpoint
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.pps application/mspowerpoint, application/vnd.ms-powerpoint
.ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow
.odt application/vnd.oasis.opendocument.text
.xls  application/excel, application/vnd.ms-excel, application/x-excel, application/x-msexcel
.xlsx   application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.psd application/octet-stream
.mp3 audio/mpeg3, audio/x-mpeg-3, video/mpeg, video/x-mpeg
.m4a audio/m4a
.ogg audio/ogg
.wav  audio/wav, audio/x-wav
.mp4 video/mp4
.m4v video/x-m4v
.mov video/quicktime
.wmv  video/x-ms-asf, video/x-ms-wmv
.avi  application/x-troff-msvideo, video/avi, video/msvideo, video/x-msvideo
.mpg  audio/mpeg, video/mpeg
.ogv  video/ogg
.3gp  video/3gpp, audio/3gpp
.3g2 video/3gpp2, audio/3gpp2

MIME Types غیرمجاز در وردپرس و نحوه مدیریت آنها

با استفاده از کد `wp_get_allowed_mime_types()`، لیستی از انواع فایل‌ هایی (MIME types) را می‌ بینید که وردپرس آن‌ها را می‌ شناسد اما اجازه آپلودشان را نمی‌ دهد.

در ادامه، به بررسی این MIME typeهای غیرمجاز می‌ پردازیم. اگر سعی کنید فایلی با این پسوند ها آپلود کنید، با خطای امنیتی “Sorry, this file type is not allowed for security reasons” روبرو خواهید شد. برای یادگیری نحوه رفع این خطا، به بخش مربوطه مراجعه کنید.

فرمت فایل نوع MIME
.bmp  image/bmp
.tif image/tiff
.tiff image/tiff
.asf video/x-ms-asf
.asx video/x-ms-asf
.wm video/x-ms-wm
.wmx video/x-ms-wmx
.divx video/divx
.flv  video/x-flv
.qt video/quicktime
.mpe  video/mpeg
.webm video/webm
.mkv  video/x-matroska
.txt text/plain
.asc  text/plain
.c text/plain
.cc text/plain
.h text/plain
.csv text/csv
.tsv text/tab-separated-values
.ics text/calendar
.rtx  text/richtext
.css  text/css
.htm   text/html
.html   text/html
.m4b audio/mpeg
.ra audio/x-realaudio
.ram audio/x-realaudio
.mid audio/midi
.midi audio/midi
.wax audio/x-ms-wax
.mka audio/x-matroska
.rtf application/rtf
.js  application/javascript
.swf application/x-shockwave-flash
.class application/java
.tar  application/x-tar
.zip application/zip
.gz  application/x-zip
.gzip application/x-zip
.rar application/rar
.7z   application/x-7z-compressed
.exe  application/x-msdownload
.pot application/vnd.ms-powerpoint
.wri  application/vnd.ms-write
.xla   application/vnd.ms-excel
.xlt application/vnd.ms-excel
.xlw  application/vnd.ms-excel
.mdb application/vnd.ms-access
.mpp application/vnd.ms-project
.docm application/vnd.ms-word.document.macroEnabled.12
.dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template
.dotm application/vnd.ms-word.template.macroEnabled.12
.xlsm  application/vnd.ms-excel.sheet.macroEnabled.12
.xlsb application/vnd.ms-excel.sheet.binary.macroEnabled.12
.xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template
.xltm application/vnd.ms-excel.template.macroEnabled.12
.xlam application/vnd.ms-excel.addin.macroEnabled.12
.pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12
.ppsm application/vnd.ms-powerpoint.slideshow.macroEnabled.12
.potx  application/vnd.openxmlformats-officedocument.presentationml.template
.potm  application/vnd.ms-powerpoint.template.macroEnabled.12
.ppam application/vnd.ms-powerpoint.addin.macroEnabled.12
.sldx application/vnd.openxmlformats-officedocument.presentationml.slide
.sldm application/vnd.ms-powerpoint.slide.macroEnabled.12
.onetoc application/onenote
.onetoc2 application/onenote
.onetmp application/onenote
.onepkg application/onenote
.odp application/vnd.oasis.opendocument.presentation
.ods application/vnd.oasis.opendocument.spreadsheet
.odg application/vnd.oasis.opendocument.graphics
.odc application/vnd.oasis.opendocument.chart
.odb  application/vnd.oasis.opendocument.database
.odf application/vnd.oasis.opendocument.formula
.wp application/wordperfect
.wpd application/wordperfect
.key application/vnd.apple.keynote
.numbers application/vnd.apple.numbers
.pages  application/vnd.apple.pages

انواع فایل های دیگر که می توان در وردپرس اضافه کرد

برای استفاده از فایل‌ های غیرتصویری (مثل کتاب‌ های الکترونیکی .epub یا .mobi)، ساده‌ ترین راه نصب یک افزونه است.

اگر همچنان مشکل دارید، می‌ توانید با اضافه کردن کدی به فایل wp-config.php**، امکان آپلود این نوع فایل‌ ها را فقط برای مدیران (ادمین‌ ها) فعال کنید.

define( 'ALLOW_UNFILTERED_UPLOADS', true );

رفع خطای MIME Type در وردپرس هنگام آپلود فایل غیرمجاز

در آپدیت امنیتی وردپرس 4.7.1 (ژانویه 2017)، تغییری در نحوه بررسی نوع فایل‌ ها (MIME type) هنگام آپلود ایجاد شد. این تغییر باعث شده که برخی از فایل‌ ها، به خصوص فایل‌ های غیرتصویری، با خطای امنیتی در آپلود مواجه شوند.

کاربرانی که از افزونه‌ های خاص برای آپلود انواع فایل‌ های بیشتر استفاده می‌ کنند، ممکن است هنگام آپلود در بخش مدیریت وردپرس (wp-admin) با یک پیام خطا روبرو شوند.

این مشکل معمولاً برای فایل‌ هایی با پسوند‌ های رایج مثل .docx، .ppt، .svg، .xlsm و .ai** پیش می‌ آید، اما ممکن است برای فایل‌ های دیگر نیز رخ دهد.

 

خطای آپلود فایل غیر تصویری در وردپرس

اگر به تازگی این هشدار را می بینید، چند راه مختلف برای حل این مشکل وجود دارد:

1. خط زیر را به فایل wp-config.php اضافه کنید. این امکان آپلود فایل غیر تصویری را فقط برای ادمین ها فراهم می کند:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

برای تغییر فایل wp-config با SFTP یا SSH Gateway متصل شوید.

2. از افزونه ای استفاده کنید که این توانایی را بازیابی می کند.

3. در عوض، فایلی را که خطا را برمی گرداند، با استفاده از SFTP آپلود کنید.

جمع‌ بندی آموزش افزودن MIME Types در وردپرس

در این مقاله یاد گرفتیم که چرا وردپرس اجازه آپلود همه نوع فایل رو نمی‌ده و چطور می‌تونیم این محدودیت رو با استفاده از MIME Types دور بزنیم. چه با استفاده از افزونه‌ ها و چه با اضافه کردن چند خط کد، حالا دیگه می‌ دونید چطور فرمت‌های دلخواه‌ تون مثل .svg, .psd, .mobi یا حتی .zip رو به وردپرس اضافه کنید. اگر سؤال یا تجربه‌ ای در این زمینه دارید، خوشحال می‌ شیم در بخش نظرات بخونیم.

این پست را به اشتراک بگذارید
سوالات متداول MIME Types در وردپرس 3.0.3

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

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

0

دیدگاه و پرسش