هک آپلود فایل در وردپرس با انواع فرمت
اگر تا به اینجا با آموزش های سایت WPTutorial.ir همراه بوده باشید، می دانید که ما افزونه هایی را خدمت شما معرفی کردیم که با نصب و انجام تنظیمات آنها می توانستید اجازۀ بارگذاری نوع یا انواع خاصی از پرونده با پسوند خاص را به وردپرس بدهید. این افزونه ها را در مقالۀ افزونه برای افزایش پسوند فایل های مورد قبول وردپرس خدمت شما معرفی کردیم. البته باید بدانید که از نظر امنیتی هم درست نیست که وردپرس هر نوع فایلی را اجازۀ بارگذاری بدهد.
حالا در این آموزش می خواهیم به یکی دیگر از روش های افزودن پسوندهای مجاز فایل ها برای آپلود اشاره کنیم که نه از افزونه استفاده می کنیم، نه تغییری در پروندۀ پیکربندی وردپرس می دهیم. بلکه پروندۀ توابع پوستۀ خود را ویرایش می کنیم. در این روش فقط زمانی که قالب مد نظر ما فعال شود، نوع خاصی از پرونده ها اجازۀ آپلود پیدا می کنند.
پس در اولین مرحله باید پروندۀ functions.php را از اسناد قالب تان باز کنید و کد زیر را به انتهای این سند اضافه کنید.
function wptuploadfiles($mime_types){ $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files $mime_types['exe'] = 'application/x-msdownload'; //Adding x-msdownload exe files return $mime_types; } add_filter('upload_mimes', 'wptuploadfiles', 1, 1);
دقت داشته باشید که اگر در انتهای سند شما کد ?> وجود داشت، حتماً باید قبل از این کد که نشان دهندۀ بسته شدن کدهای PHP است، خطوط بالا را قرار دهید.
این کد در اصل یک قلاب از قلاب های وردپرس است که در زمان بارگذاری یک سند mime آن پرونده را بررسی می کند. در تابعی که برای این قلاب تعریف کردیم، ما آرایه ای داریم که باید پسوند و نوع پرونده ای که قصد مجاز دانسته شدنش را داریم، را تعیین کنیم. در کد بالا ما سه نوع پروندۀ svg، psd و exe اجازۀ بارگذاری اش داده می شود. حالا شما می توانید برای افزودن پسوندهای بیشتر خطی که با $mime_types شروع می شود را به تعداد دلخواه کپی کنید و مقادیر آن را ویرایش نمایید.
برای افزودن پسوند (فرمت) های دلخواه کافی است از جدول زیر کمک بگیرید.
نام | نوع / نوع رسانه اینترنتی | فرمت فایل | جزئیات بیشتر |
---|---|---|---|
۳GP | video/3gpp | .۳gp | Wikipedia: 3GP |
۷-Zip | application/x-7z-compressed | .۷z | Wikipedia: 7-Zip |
Android Package Archive | application/vnd.android.package-archive | .apk | Wikipedia: APK File Format |
Audio Video Interleave (AVI) | video/x-msvideo | .avi | Wikipedia: AVI |
Comma-Seperated Values | text/csv | .csv | Wikipedia: CSV |
Microsoft Word | application/msword | .doc | Wikipedia: Microsoft Word |
Micosoft Word – Macro-Enabled Document | application/vnd.ms-word.document.macroenabled.12 | .docm | IANA: MS Word |
Microsoft Office – OOXML – Word Document | application/vnd.openxmlformats-officedocument.wordprocessingml.document | .docx | IANA: OOXML – Word Document |
DWG Drawing | image/vnd.dwg | .dwg | Wikipedia: DWG |
Microsoft Application | application/x-msdownload | .exe | Wikipedia: EXE |
Flash Video | video/x-flv | .flv | Wikipedia: Flash Video |
Graphics Interchange Format | image/gif | .gif | Wikipedia: Graphics Interchange Format |
HyperText Markup Language (HTML) | text/html | .html | Wikipedia: HTML |
Icon Image | image/x-icon | .ico | Wikipedia: ICO File Format |
JPEG Image | image/jpeg | .jpeg, .jpg | RFC 1314 |
JavaScript | application/javascript | .js | JavaScript |
JavaScript Object Notation (JSON) | application/json | .json | Wikipedia: JSON |
SGI Movie | video/x-sgi-movie | .movie | SGI Facts |
MPEG4 | application/mp4 | .mp4 | RFC 4337 |
MPEG-4 Video | video/mp4 | .mp4 | Wikipedia: MP4 |
MPEG-4 Audio | audio/mp4 | .mp4a | Wikipedia: MP4A |
MPEG Video | video/mpeg | .mpeg | Wikipedia: MPEG |
Adobe Portable Document Format | application/pdf | Adobe PDF | |
Portable Network Graphics (PNG) | image/png | .png | RFC 2083 |
Microsoft Office – OOXML – Presentation (Slideshow) | application/vnd.openxmlformats-officedocument.presentationml.slideshow | .ppsx | IANA: OOXML – Presentation |
Microsoft PowerPoint | application/vnd.ms-powerpoint | .ppt | IANA: MS PowerPoint |
Microsoft PowerPoint – Macro-Enabled Presentation File | application/vnd.ms-powerpoint.presentation.macroenabled.12 | .pptm | IANA: MS PowerPoint |
Microsoft Office – OOXML – Presentation | application/vnd.openxmlformats-officedocument.presentationml.presentation | .pptx | IANA: OOXML – Presentation |
RAR Archive | application/x-rar-compressed | .rar | Wikipedia: RAR |
Scalable Vector Graphics (SVG) | image/svg+xml | .svg | Wikipedia: SVG |
Adobe Flash | application/x-shockwave-flash | .swf | Wikipedia: Adobe Flash |
XML – Extensible Markup Language | application/xml | .xml | W3C XML |
امیدواریم که با این آموزش بتوانید هم در طراحی قالب خود موفق تر از قبل عمل کنید، هم محدودیت های پیش رو را بردارید (خطایِ متاسفانه، این نوع پرونده به دلایل امنیتی مجاز نیست) تا از قدرت وردپرس بیش از پیش استفاده کنید. دقت داشته باشید که برای آپلود فایل در وردپرس با انواع فرمت روش های دیگری مثل استفاده از افزونه هم وجود دارد که روال به مراتب ساده تری دارد، که در آموزش های گذشته راجع به آنها هم توضیحات کامل داده شده است.