
🔧 Jak naprawić błąd «Przepraszamy, ten typ pliku nie jest dozwolony ze względów bezpieczeństwa» w WordPress
Ви ładują Państwo plik do biblioteki multimediów WordPress, a w odpowiedzi pojawia się czerwone ostrzeżenie: „Przepraszamy, ten typ pliku jest niedozwolony ze względów bezpieczeństwa". Czcionka.woff do niestandardowego projektu, ikona SVG do logotypu, książka.epub dla użytkowników, WordPress po prostu odmawia ich przyjęcia.
Problem nie leży w Państwa pliku. WordPress od razu po instalacji sztywno filtruje przesyłane typy danych, to wbudowany mechanizm bezpieczeństwa, który chroni witrynę przed potencjalnie niebezpiecznymi plikami. Blokuje on jednak również całkowicie legalne formaty, potrzebne Państwu do pracy.
Poniżej trzy działające sposoby na obejście ograniczeń: szybki przez kod w wp-config.php, elastyczny przez wtyczkę i specjalny dla grafiki SVG. Bez edycji jądra, bez ryzyka dla witryny.
💡 Szybki przegląd:
- Proszę znieść ograniczenia WordPressa przez stałą ALLOW_UNFILTERED_UPLOADS w pliku wp-config.php.
- Proszę zainstalować wtyczkę Add MIME Types, aby punktowo dodawać formaty przez panel administracyjny.
- Dla grafiki SVG proszę używać Safe SVG z wbudowanym sanityzerem.
Dlaczego WordPress blokuje przesyłanie plików
WordPress obsługuje dziesiątki formatów od razu po instalacji, ale zdecydowanie nie wszystkie. System porównuje typ MIME każdego przesyłanego pliku ze sztywno zdefiniowaną listą dozwolonych. Jeśli typ nie zostanie znaleziony, widzą Państwo komunikat „Przepraszamy, ten typ pliku jest niedozwolony ze względów bezpieczeństwa".

Domyślnie WordPress zezwala na przesyłanie następujących kategorii:
Kategoria | Dozwolone rozszerzenia |
|---|---|
Obrazy | .jpg,.jpeg,.png,.gif,.ico,.webp |
Wideo | .mp4,.m4v,.mov,.wmv,.avi,.mpg,.ogv,.3gp,.3g2 |
Dokumenty | .pdf,.doc,.docx,.ppt,.pptx,.pps,.ppsx,.odt,.xls,.xlsx,.psd |
Audio | .mp3,.m4a,.ogg,.wav |
Wszystko, czego nie ma w tabeli:.woff/.woff2 dla czcionek,.svg dla grafiki wektorowej,.epub dla książek elektronicznych,.json,.xml,.csv, WordPress blokuje.
Typowy przykład: podłączają Państwo niestandardową czcionkę do szablonu i próbują przesłać plik .woff przez bibliotekę multimediów. Rezultat:

Plik na serwerze, rozszerzenie poprawne, zawartość bezpieczna, ale WordPress nie zna typu MIME font/woff i odmawia. Są trzy rozwiązania.
Sposób 1: Kod w wp-config.php (szybki, dla dowolnych formatów)
Najkrótsza ścieżka, dodać jeden wiersz do pliku konfiguracyjnego WordPressa. Stała ALLOW_UNFILTERED_UPLOADS wyłącza sprawdzanie typów MIME i mogą Państwo przesyłać pliki dowolnych formatów.
Przed rozpoczęciem proszę zrobić kopię zapasową witryny. Edycja wp-config.php bezpośrednio, operacja o niskim ryzyku, ale plik jest krytyczny dla działania WordPressa.
Proszę połączyć się z serwerem przez FTP/SFTP (FileZilla, WinSCP lub menedżer plików hostingu). Plik wp-config.php znajduje się w folderze głównym, tam samo, gdzie katalogi wp-admin i wp-includes.

Proszę otworzyć wp-config.php i dodać następujący wiersz przed komentarzem /* That's all, stop editing! Happy blogging. */:
1 define('ALLOW_UNFILTERED_UPLOADS', true);

Zapisz plik i prześlij go z powrotem na serwer, jeśli edytował Pan/Pani lokalnie. Następnie proszę wylogować się z panelu administracyjnego WordPress i zalogować ponownie, jest to konieczne, w przeciwnym razie zmieniona konfiguracja nie zostanie zastosowana.
Po ponownym zalogowaniu proszę spróbować przesłać plik, ograniczenie zostało zniesione.

Plusy metody: działa natychmiast, nie wymaga wtyczek, obsługuje każdy format. Minus: odblokowuje przesyłanie absolutnie wszystkiego, ALLOW_UNFILTERED_UPLOADS nie rozróżnia bezpiecznego pliku .woff od potencjalnie niebezpiecznego pliku wykonywalnego. Jeśli na stronie są inni administratorzy lub autorzy, lepiej nie stosować tej metody.
Sposób 2: Wtyczka Add MIME Types (elastyczna, przez panel administracyjny)
Jeśli nie chce Pan/Pani modyfikować pliku wp-config.php lub potrzebuje Pan/Pani precyzyjnej kontroli, tylko .woff i .svg, ale nie .exe, proszę użyć wtyczki Add MIME Types na WordPress.org.
Wtyczka jest aktywnie wspierana (wersja 3.2.0, kompatybilność z PHP 8.5 i WordPress 7.0) i nie modyfikuje plików rdzenia, jedynie dodaje potrzebne typy MIME przez standardowy filtr WordPressa.
Proszę zainstalować i aktywować wtyczkę, a następnie przejść do Ustawienia → Add MIME Types. Zobaczy Pan/Pani listę już dozwolonych formatów, wtyczka pokazuje je na czerwono na końcu zestawienia.

Aby dodać nowy typ, proszę wpisać w polu rozszerzenie i odpowiadający mu typ MIME. Na przykład:
1 woff = font/woff 2 woff2 = font/woff2 3 svg = image/svg+xml 4 epub = application/epub+zip
Proszę kliknąć Save Changes, format zostanie dodany. Proszę sprawdzić: przesłać plik żądanego typu do biblioteki mediów. WordPress przyjmie go bez błędu.
Plusy: bezpieczniejsze niż stała ALLOW_UNFILTERED_UPLOADS (dodaje Pan/Pani tylko to, co potrzebne), zarządzanie przez panel administracyjny, ustawienia są zachowywane podczas aktualizacji rdzenia. Minus: o jeden krok dłużej niż edycja kodu.
Alternatywa dla SVG: wtyczka Safe SVG
Jeśli jedynym „niedozwolonym" formatem na Pana/Pani stronie jest SVG, istnieje specjalistyczne rozwiązanie. Safe SVG od zespołu 10up nie tylko zezwala na przesyłanie grafiki wektorowej, ale sanitizuje każdy plik podczas przesyłania, usuwając potencjalnie szkodliwy kod XML/JavaScript.

Po instalacji wtyczka działa od razu: żadnych ustawień, pliki SVG są natychmiast dostępne do przesłania i poprawnie wyświetlają się w bibliotece mediów (włącznie z podglądem, czego WordPress domyślnie dla SVG nie robi).
Wtyczka jest aktywna na ponad 1 milionie stron, kompatybilna z WordPress 7.0 i regularnie aktualizowana. Jeśli SVG to wszystko, czego Pan/Pani potrzebuje, Safe SVG rozwiązuje problem czyściej niż uniwersalna wtyczka MIME.
Krótkie wideo na ten temat, pokazujące w praktyce wszystkie trzy sposoby naprawienia błędu w panelu administracyjnym WordPress:
⁉️🤔 Często zadawane pytania
Czy bezpiecznie jest używać ALLOW_UNFILTERED_UPLOADS na produkcyjnej stronie?
Z zastrzeżeniami. Stała całkowicie wyłącza sprawdzanie typów MIME, każdy użytkownik z uprawnieniem do przesyłania plików będzie mógł wgrać do biblioteki mediów cokolwiek, w tym wykonywalne skrypty. Na środowisku produkcyjnym z wieloma autorami proszę stosować drugi sposób (Add MIME Types) lub przynajmniej ograniczyć krąg osób mających dostęp do biblioteki mediów.
Dlaczego WordPress domyślnie nie zezwala na SVG?
SVG to dokument XML, a nie obraz binarny. Wewnątrz pliku SVG może znajdować się JavaScript, procedury obsługi zdarzeń i znaczniki
<foreignObject>, co otwiera wektor dla ataków XSS. Właśnie dlatego rdzeń WordPressa blokuje SVG, a wtyczki takie jak Safe SVG przepuszczają pliki przez sanitizer, usuwają cały potencjalnie niebezpieczny kod, pozostawiając tylko grafikę.
Po dodaniu kodu do wp-config.php błąd pozostał. Co robić?
Trzy prawdopodobne przyczyny. Pierwsza: nie wylogował/a się Pan/Pani i nie zalogował/a ponownie do panelu administracyjnego, konfiguracja jest buforowana przez sesję, potrzebny jest nowy login. Druga: plik został przesłany nie w to miejsce,
wp-config.phpmusi znajdować się w katalogu głównym strony, nie w/wp-content/ani w/wp-admin/. Trzecia: na stronie jest aktywna wtyczka bezpieczeństwa (Wordfence, Solid Security), która przechwytuje przesyłanie niezależnie od stałej, proszę sprawdzić ich ustawienia.
Czy można zezwolić na przesyłanie tylko jednemu użytkownikowi?
Poprzez
ALLOW_UNFILTERED_UPLOADSnie, stała jest globalna. Wtyczka Add MIME Types również dotyczy wszystkich ról z uprawnieniemupload_files. Do selektywnego dostępu proszę użyć filtraupload_mimeswfunctions.phpze sprawdzeniemcurrent_user_can(), ale to już wymaga niestandardowego programowania.
Co robić, jeśli wtyczka Add MIME Types nie działa dla mojego formatu?
Niektóre formaty wymagają dokładnego dopasowania typu MIME, który określa funkcja PHP
finfo_filena Pana/Pani serwerze, może on różnić się od „standardowego". W ustawieniach wtyczki proszę włączyć opcję „Enable to debug output for file types recognized by WordPress", przesłać plik i sprawdzić, jaki typ MIME faktycznie rozpoznał serwer, a następnie wpisać właśnie ten. Po weryfikacji proszę wyłączyć tryb debugowania.
Zdejmujemy blokadę: którą metodę wybrać
Trzyetapowa logika wyboru:
Potrzebują Państwo wgrać jeden plik właśnie teraz? Poprawka w
wp-config.php, 30 sekund i ograniczenie znika. Proszę nie zapomnieć później usunąć tę linię lub ją zakomentować, jeśli strona jest publiczna.Regularnie wgrywają Państwo konkretne formaty? Add MIME Types, bezpieczniej, bardziej przejrzyście i nie znika podczas aktualizacji rdzenia WordPressa.
Pracują Państwo wyłącznie z SVG? Safe SVG, specjalistyczne narzędzie z sanityzerem, które nie tylko „przepuszcza", ale i oczyszcza. Do wszystkiego innego, pierwsza lub druga metoda.
Komunikat „Przepraszamy, ten typ pliku nie jest dozwolony" to nie błąd, a celowe ograniczenie. Ale WordPress pozostawił legalne sposoby, by je obejść. Proszę wybrać odpowiedni i wrócić do pracy. 🔗 Add MIME Types na WordPress.org | 🔗 Safe SVG na WordPress.org



