Jaké jsou povolené typy souborů, které lze nahrávat do WordPressu (whitelist)?

Další z tazatelů naší poradny měl patrně problém s nahráváním určitého typu souboru do WordPressu: “Nemohu nikde najít seznam typů souborů které WordPress považuje za bezpečné. Je možné tato omezení případně nějak přenastavit?” Ano, s využitím jednoho drobného pluginu je to docela jednoduché. Ale podívejme se nejdříve na celou problematiku trochu podrobněji…

Původně mohli administrátoři WordPressu nahrávat vlastně cokoliv. Změna přišla až nedávno ve WordPressu 2.8.5, kdy byla administrátorům tato možnost nahrávat všechny typy souborů odebrána a začal se na ně také vztahovat tzv. “whitelist“, kde jsou přesně vyjmenovány všechny povolené typy souborů k nahrávání. Důvodem bylo zejména další posílení bezpečnosti v případě, kdy se někdo zmocnil administrátorského účtu (např. uhodl heslo) a nahrál si na web třeba nějaký .php soubor, který pak mohl do budoucna zneužívat.

Administrátoři, kteří se podobné situace neobávají, si to však mohou zase jednoduše povolit přímo v souboru wp-config.php, kam je potřeba přidat následující řádek:

define('ALLOW_UNFILTERED_UPLOADS', true);

Samotný aktuální seznam naleznete v v souboru wp-includes/functions.php (funkce get_allowed_mime_types). Měnit se to zde však rozhodně nedoporučuje, protože bude soubor během automatické aktualizace překopírován a o tyto úpravy samozřejmě přijdete. Seznam povolených typů souborů si však můžete rozšířit pomocí pluginů, velmi jednoduchý a aktuální je např. PJW Mime Config. Stačí ho nainstalovat, aktivovat a v menu Nastavení – Mime types si můžete přidat libovolnou koncovku souboru, která pak bude povolena pro všechny uživatele.

A na konec ještě aktuální přehled povolených typů souborů k nahrávání (WordPress 2.9, nově přidán např. formát .flv):

  • Obrázky: jpg|jpeg|jpe (image/jpeg), gif (image/gif), png (image/png), bmp (image/bmp), tif|tiff (image/tiff), ico (image/x-icon).
  • Video: asf|asx|wax|wmv|wmx (video/asf), avi (video/avi), divx (video/divx), flv (video/x-flv), mov|qt (video/quicktime), mpeg|mpg|mpe (video/mpeg), mp4|m4v (video/mp4).
  • Text: txt|c|cc|h (text/plain), rtx (text/richtext), css (text/css), htm|html (text/html),
  • Audio: mp3|m4a (audio/mpeg), ra|ram (audio/x-realaudio), wav (audio/wav), ogg (audio/ogg), mid|midi (audio/midi), wma (audio/wma).
  • Další aplikace: rtf (application/rtf), js (application/javascript), pdf (application/pdf), swf (application/x-shockwave-flash), class (application/java), exe (application/x-msdownload).
  • Microsoft Office: doc|docx (application/msword), pot|pps|ppt|pptx (application/vnd.ms-powerpoint), wri (application/vnd.ms-write), xla|xls|xlsx|xlt|xlw (application/vnd.ms-excel), mdb (application/vnd.ms-access), mpp (application/vnd.ms-project),
  • Archivy: tar (application/x-tar), zip (application/zip), gz|gzip (application/x-gzip).
  • OpenOffice: odt (application/vnd.oasis.opendocument.text), 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).

Nejoblíbenější hosting pro WordPress WEDOS.cz

4 thoughts on “Jaké jsou povolené typy souborů, které lze nahrávat do WordPressu (whitelist)?”

  1. I když občas váhám, zda podobné komentáře nemazat, tak ho tu nakonec nechám jako ukázku chování některých uživatelů (pouze jsem odstranil odkaz na web a několik vykřičníků).

    cechy: Stačí dočíst článek do konce, je tam k nalezení celý přehled povolených typů souborů k nahrávání…

  2. Dobrý den,
    rád bych se zeptal…dělám svoji první webovou stránku a při nahrávání fotek mi pak přestalo jít při kliknutí na fotku,tak zvětšení vybrané fotky .Nevím zda jsem něco někde nechtěně nevymazal nebo nezměnil co tuto funkci podporuje.Mohu poprosit o radu co stím mohu jak udělat nebo ,kde sem udělal chybu ,že mi tato funkce přestala fungovat?Děkuji

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *