Skip to content

Все для WordPress, веб-розробки — і не тільки

🔧 Як виправити помилку «Вибачте, цей тип файлу не дозволено з міркувань безпеки» в WordPress

🔧 Як виправити помилку «Вибачте, цей тип файлу не дозволено з міркувань безпеки» в WordPress

Ви завантажуєте файл у медіатеку WordPress, а у відповідь, червоне попередження: «Вибачте, цей тип файлу не дозволено з міркувань безпеки». Шрифт.woff для кастомного дизайну, SVG-іконка для логотипа,.epub-книга для користувачів, WordPress просто відмовляється їх приймати.

Проблема не у вашому файлі. WordPress з коробки жорстко фільтрує типи даних, що завантажуються, — це вбудований механізм безпеки, який захищає сайт від потенційно небезпечних файлів. Але він же блокує й цілком легітимні формати, потрібні вам для роботи.

Нижче, три робочі способи обійти обмеження: швидкий через код у wp-config.php, гнучкий через плагін і спеціальний для SVG-графіки. Без правки ядра, без ризику для сайту.

💡 Швидкий огляд:

  • Скиньте обмеження WordPress через константу ALLOW_UNFILTERED_UPLOADS у wp-config.php.
  • Установіть плагін Add MIME Types для точкового додавання форматів через адмінку.
  • Для SVG-графіки використовуйте Safe SVG із вбудованим санітайзером.

Чому WordPress блокує завантаження файлів

WordPress підтримує десятки форматів з коробки, але далеко не всі. Система звіряє MIME-тип кожного файлу, що завантажується, із жорстко заданим списком дозволених. Якщо тип не знайдено, ви бачите повідомлення «Вибачте, цей тип файлу не дозволено з міркувань безпеки».

Повідомлення про помилку типу файлу в WordPress

За замовчуванням WordPress дозволяє завантаження таких категорій:

Категорія

Дозволені розширення

Зображення

.jpg,.jpeg,.png,.gif,.ico,.webp

Відео

.mp4,.m4v,.mov,.wmv,.avi,.mpg,.ogv,.3gp,.3g2

Документи

.pdf,.doc,.docx,.ppt,.pptx,.pps,.ppsx,.odt,.xls,.xlsx,.psd

Аудіо

.mp3,.m4a,.ogg,.wav

Усе, чого немає в таблиці:.woff/.woff2 для шрифтів,.svg для векторної графіки,.epub для електронних книг,.json,.xml,.csv, WordPress блокує.

Типовий приклад: ви підключаєте кастомний шрифт до теми й намагаєтеся завантажити .woff-файл через медіатеку. Результат:

Помилка при завантаженні .woff файлу в медіатеку WordPress

Файл на сервері, розширення коректне, вміст безпечний, але WordPress не знає MIME-тип font/woff і відмовляє. Рішень три.

Спосіб 1: Код у wp-config.php (швидкий, для будь-яких форматів)

Найкоротший шлях, додати один рядок у конфігураційний файл WordPress. Константа ALLOW_UNFILTERED_UPLOADS вимикає перевірку MIME-типів, і ви можете завантажувати файли будь-яких форматів.

Перед початком зробіть бекап сайту. Редагування wp-config.php напряму, операція з низьким ризиком, але файл критичний для роботи WordPress.

Підключіться до сервера через FTP/SFTP (FileZilla, WinSCP або файловий менеджер хостингу). Файл wp-config.php лежить у кореневій папці, там само, де директорії wp-admin і wp-includes.

Редагування файлу wp-config.php через FTP-клієнт

Відкрийте wp-config.php і додайте наступний рядок перед коментарем /* That's all, stop editing! Happy blogging. */:

1define('ALLOW_UNFILTERED_UPLOADS', true);
Розміщення коду ALLOW_UNFILTERED_UPLOADS у файлі wp-config.php

Збережіть файл і завантажте назад на сервер, якщо редагували локально. Потім вийдіть з адмінки WordPress і ввійдіть заново, це обов’язково, інакше змінена конфігурація не застосується.

Після повторного входу спробуйте завантажити файл, обмеження знято.

Успішне завантаження .woff файлу після зняття обмеження

Плюси методу: миттєво, не потребує плагінів, працює для будь-якого формату. Мінус: відкриває завантаження взагалі всього, ALLOW_UNFILTERED_UPLOADS не розрізняє безпечний .woff і потенційно небезпечний виконуваний файл. Якщо на сайті є інші адміністратори або автори, цей спосіб краще не використовувати.

Спосіб 2: Плагін Add MIME Types (гнучкий, через адмінку)

Якщо не хочете чіпати wp-config.php або вам потрібен точковий контроль, лише .woff і .svg, але не .exe, використовуйте плагін Add MIME Types на WordPress.org.

Плагін активно підтримується (версія 3.2.0, сумісність із PHP 8.5 і WordPress 7.0) і не змінює файли ядра, лише додає потрібні MIME-типи через стандартний фільтр WordPress.

Установіть і активуйте плагін, потім перейдіть у Налаштування → Add MIME Types. Ви побачите список уже дозволених форматів, плагін показує їх червоним кольором у кінці переліку.

Сторінка налаштувань типів файлів у плагіні Add MIME Types

Щоб додати новий тип, впишіть у поле розширення та відповідний MIME-тип. Наприклад:

1woff = font/woff
2woff2 = font/woff2
3svg = image/svg+xml
4epub = application/epub+zip

Натисніть Save Changes, формат додано. Перевірте: завантажте файл потрібного типу в медіатеку. WordPress прийме його без помилки.

Плюси: безпечніше за константу ALLOW_UNFILTERED_UPLOADS (додаєте лише те, що потрібно), керування через адмінку, налаштування зберігаються під час оновлення ядра. Мінус: на один крок довше, ніж правка коду.

Альтернатива для SVG: плагін Safe SVG

Якщо єдиний «недозволений» формат на вашому сайті, SVG, є спеціалізоване рішення. Safe SVG від команди 10up не просто дозволяє завантаження векторної графіки, він санує кожен файл під час Upload, вирізаючи потенційно шкідливий XML/JavaScript-код.

Плагін Safe SVG в каталозі WordPress

Після встановлення плагін працює «з коробки»: жодних налаштувань, SVG-файли одразу доступні для завантаження та коректно відображаються в медіатеці (включно з прев’ю, чого WordPress за замовчуванням для SVG не робить).

Плагін активний на 1+ мільйоні сайтів, сумісний із WordPress 7.0 і регулярно оновлюється. Якщо SVG — це все, що вам потрібно, Safe SVG закриває задачу чистіше, ніж універсальний MIME-плагін.

Коротке відео за темою, наочно показує всі три способи виправлення помилки в адмінці WordPress:

⁉️🤔 Часті запитання

Чи безпечно використовувати ALLOW_UNFILTERED_UPLOADS на бойовому сайті?

Із застереженнями. Константа повністю вимикає перевірку MIME-типів, будь-який користувач із правом завантаження файлів зможе залити в медіатеку що завгодно, включно з виконуваними скриптами. На продакшені з кількома авторами використовуйте другий спосіб (Add MIME Types) або хоча б обмежте коло осіб, які мають доступ до медіатеки.

Чому WordPress не дозволяє SVG за замовчуванням?

SVG — це XML-документ, а не бінарне зображення. Всередині SVG-файлу може знаходитися JavaScript, обробники подій і теги <foreignObject>, що відкриває вектор для XSS-атак. Саме тому ядро WordPress блокує SVG, а плагіни на кшталт Safe SVG пропускають файли через санітайзер, видаляють увесь потенційно небезпечний код, залишаючи лише графіку.

Після додавання коду в wp-config.php помилка залишилася. Що робити?

Три ймовірні причини. Перша: ви не вийшли й не зайшли заново в адмінку, конфігурація кешується сесією, потрібен новий логін. Друга: файл завантажено не в те місце, wp-config.php має лежати в корені сайту, не в /wp-content/ і не в /wp-admin/. Третя: на сайті активний плагін безпеки (Wordfence, Solid Security), який перехоплює завантаження незалежно від константи, перевірте їхні налаштування.

Чи можна дозволити завантаження лише одному користувачеві?

Через ALLOW_UNFILTERED_UPLOADS, ні, константа глобальна. Плагін Add MIME Types також застосовується до всіх ролей із правом upload_files. Для вибіркового доступу використовуйте фільтр upload_mimes у functions.php із перевіркою current_user_can(), але це вже кастомна розробка.

Що робити, якщо плагін Add MIME Types не працює для мого формату?

Деякі формати потребують точного збігу MIME-типу, який визначає PHP-функція finfo_file на вашому сервері, він може відрізнятися від «стандартного». У налаштуваннях плагіна ввімкніть опцію «Enable to debug output for file types recognized by WordPress», завантажте файл і подивіться, який MIME-тип фактично визначив сервер, потім пропишіть саме його. Після перевірки вимкніть debug-режим.

Знімаємо блокування: який спосіб обрати

Триетапна логіка вибору:

  • Потрібно завантажити один файл просто зараз? Виправлення wp-config.php, 30 секунд, і обмеження немає. Не забудьте потім прибрати рядок або закоментувати, якщо сайт публічний.

  • Регулярно завантажуєте конкретні формати? Add MIME Types, безпечніше, наочніше і не злітає під час оновлення ядра WordPress.

  • Працюєте лише з SVG? Safe SVG, спеціалізований інструмент із санітайзером, який не просто «пропускає», а очищує. Для всього іншого, перший або другий спосіб.

Помилка «Вибачте, цей тип файлу не дозволено» — це не баг, а навмисне обмеження. Але WordPress залишив легальні способи його обійти. Оберіть відповідний і повертайтеся до роботи. 🔗 Add MIME Types на WordPress.org | 🔗 Safe SVG на WordPress.org