WordPress Upload weitere Dateitypen erlauben

Standardmäßig werden in WordPress beim Upload in die Mediathek nur bestimmte Dateitypen (File Types) oder MIME Types (Multipurpose Internet Mail Extensions) erlaubt. Versucht man eine nicht zulässige Datei hochzuladen, erhält man die Fehlermeldung „Dieser Dateityp ist aus Sicherheitsgründen leider nicht erlaubt“. WordPress beschränkt hier quasi aus Sicherheitsgründen das Hochladen von einigen Dateitypen. Wenn man aber spezielle Dateitypen unbedingt auf seiner Website benötigt, gibt es dafür eine einfache Lösung per Filterfunktion.

Standardmäßig können in WordPress folgende Dateitypen hochgeladen werden:

Bilder

  • .jpg
  • .jpeg
  • .png
  • .gif

Dokumente

  • .pdf (Portable Document Format; Adobe Acrobat)
  • .doc, .docx (Microsoft Word Document)
  • .ppt, .pptx, .pps, .ppsx (Microsoft PowerPoint Presentation)
  • .odt (OpenDocument Text Document)
  • .xls, .xlsx (Microsoft Excel Document)

Audio

  • .mp3
  • .m4a (funktioniert nicht in allen Browsern)
  • .ogg
  • .wav

Video

  • mp4, .m4v (MPEG-4)
  • .mov (QuickTime)
  • .wmv (Windows Media Video)
  • .avi
  • .mpg
  • .ogv (Ogg)
  • .3gp (3GPP)
  • .3g2 (3GPP2)

1. WordPress Uploads für zusätzliche Datei- und MIME-Typen über functions.php zulassen

Über die Datei functions.php des aktiven Themes (Haupttheme oder falls aktiv das Child-Theme) kann man häufig das Hochladen weiterer Dateitypen erlauben. Diese Datei findet man im WordPress Installations-Ordner unter /wp-content/themes/[NAMEDEINESTHEMES]/functions.php

Wichtig: Bitte vor dem Ändern der Datei immer eine lokale Sicherung / Backup machen!

// Kopieren Sie diesen Codeblock und fügen Sie ihn in die Datei functions.php Ihres Haupt-Themes oder Child-Themes ein. Die benötigten Dateitypen müssen Sie entsprechend anpassen.

function weitere_mime_types( $mimes ) {

// Fügen Sie hier Ihre zusätzlichen erlaubten Dateitypen und Mime-Typen hinzu.
$mimes['rar'] = 'application/x-rar';  // Zeile, um rar zu erlauben
$mimes['zip'] = 'application/zip';  // Zeile um zip zu erlauben
$mimes['csv'] = 'text/csv'; // Zeile um csv zu erlauben
$mimes['rtf'] = 'text/richtext'; // Zeile um rtf zu erlauben
$mimes['tiff'] = 'image/tiff'; // Zeile um tiff zu erlauben
$mimes['ttf'] = 'application/ttf'; // Zeile um ttf zu erlauben


// Mit dieser Zeile können Sie auch erlaubte MIME-Typen deaktivieren.
unset( $mimes['exe'] );  // Zeile um exe zu verbieten

return $mimes;
}
add_filter( 'upload_mimes', 'weitere_mime_types' );

Es gibt aber auch Beschränkungen bei einigen Hostern. Dann erscheint leider immer noch die Fehlermeldung „Dieser Dateityp ist aus Sicherheitsgründen leider nicht erlaubt“. Aus Sicherheitsgründen sind vom Hosting-Anbieter mitunter die gültigen Dateitypen und auch die maximale Dateigröße dauerhaft beschränkt, die hochgeladen werden können. Hier sollte man sich an der Hoster wenden und nachfragen.

2. Temporär in der wp-config.php per Allow_Unfiltered_Uploads Filter erlauben

Über die wp-config.php in WordPress kann man theoretisch auch den ungefilterten Upload sämtlicher Dateitypen erlauben. Die Datei wp-config.php findet man im WordPress Stammverzeichnis der Installation. Ist dieser Filtereintrag aktiv („true“ statt „false“), dann lassen sich beliebige Dateitypen in die WordPress-Medienbibliothek immer hochladen.

Aus Sicherheitsgründen sollte man den Filter aber nur temporär einsetzen und nach Benutzen wieder auf „false“ stellen. Denn theoretisch könnte sonst jeder Benutzer schadhaften Programmcode ganz einfach über die Upload-Funktion einschleusen. Das wäre beispielsweise beim Upload von SVG Dateien ratsam. SVG ist ein XML-basiertes Vektorgrafikformat, was JavaScript Code enthalten kann. Das könnte Hackern die Möglichkeit zu XML und XSS-Angriffen auf die WordPress-Installation ermöglichen. Es sollte immer sichergestellt werden, dass nur vertrauenswürdige Personen die Erlaubnis zum Upload solcher Datei-Formate haben. Deshalb ist nur der vorübergehende Einsatz dieses Filters ratsam.

Wichtig: Bitte vor dem Ändern der Datei immer eine lokale Sicherung / Backup machen!

// Füge in der Datei wp-config.php den folgenden Codeausschnitt über der /* That’s all, stop editing! Happy blogging. */ Zeile hinzu:

define('ALLOW_UNFILTERED_UPLOADS', true);

3. Alternativer Einsatz eines Plugins wie WP Add Mime Types

Zu guter Letzt kann man natürlich auch ein WordPress-Plugin einsetzen. Hier bietet sich WP Add Mime Types an, das die Aktivierung von zusätzlichen Datei-Typen und Mime-Typen ermöglicht.

Schreibe einen Kommentar