WordPress Uploadfilter: Upload bestimmter Dateitypen zulassen

WordPress Uploadfilter: Upload bestimmter Dateitypen zulassen

|
Lesezeit: 4 Minuten

Bestimmte Dateitypen können in der WordPress-Standartinstallation nicht über die Mediathek hochgeladen werden. Es erscheint dann folgende Fehlermeldung: „Aus Sicherheitsgründen ist dieser Dateityp nicht erlaubt

Dies muss nicht zwingend beim Upload in die Mediathek passieren. In manchen Plugins kann man z.B. Einstellungen exportieren und importieren. Das Plugin greift dann meistens auf die Uploadfunktion von WordPress zu. Ist der Dateityp nicht zugelassen, dann erscheint diese Fehlermeldung innerhalb das Plugins.

Einmalig mit wp-config.php

Der folgende Abschnitt muss in die Datei wp-config.php eingefügt werden.

/* Uploadfilter bei Bedarf auf true setzen, danach aus Sicherheitsgründen wieder auf false */
define( 'ALLOW_UNFILTERED_UPLOADS', true);

Nach dem Upload sollte das entweder gelöscht oder der Wert von true in false geändert werden, aus Sicherheitsgründen. Denn man könnte so schadhaften Programmcode hochladen und das möchte ja niemand.

Dauerhaft, aber selektiv

Brauchst du eine dauerhafte Lösung, dann gibt es eine Möglichkeit, den Dateityp in einer Art Whitelist hinzu zufügen. Das sollte immer überlegt und nur selektiv sein.

Dazu muss die functions.php in deinem Theme-Ordner angepasst werden

function whitelist_mimes() {
    $mime_types = array(
	/* Hier die gewünschten Mime-Typen eintragen */
	/* Beispiel: 'txt'     => 'text/plain', */
	'txt'     => 'text/plain',
	/* Standart-Mime-Typen */
	'jpg|jpeg|jpe' => 'image/jpeg',
	'gif' => 'image/gif',
	'png' => 'image/png',
	'bmp' => 'image/bmp',
	'tiff|tif' => 'image/tiff',
	'ico' => 'image/x-icon',
	'asf|asx' => 'video/x-ms-asf',
	'wmv' => 'video/x-ms-wmv',
	'wmx' => 'video/x-ms-wmx',
	'wm' => 'video/x-ms-wm',
	'avi' => 'video/avi',
	'divx' => 'video/divx',
	'flv' => 'video/x-flv',
	'mov|qt' => 'video/quicktime',
	'mpeg|mpg|mpe' => 'video/mpeg',
	'mp4|m4v' => 'video/mp4',
	'ogv' => 'video/ogg',
	'webm' => 'video/webm',
	'mkv' => 'video/x-matroska',
	'3gp|3gpp' => 'video/3gpp',
	'3g2|3gp2' => 'video/3gpp2',
	'txt|asc|c|cc|h|srt' => 'text/plain',
	'csv' => 'text/csv',
	'tsv' => 'text/tab-separated-values',
	'ics' => 'text/calendar',
	'rtx' => 'text/richtext',
	'css' => 'text/css',
	'htm|html' => 'text/html',
	'vtt' => 'text/vtt',
	'dfxp' => 'application/ttaf+xml',
	'mp3|m4a|m4b' => 'audio/mpeg',
	'aac' => 'audio/aac',
	'ra|ram' => 'audio/x-realaudio',
	'wav' => 'audio/wav',
	'ogg|oga' => 'audio/ogg',
	'flac' => 'audio/flac',
	'mid|midi' => 'audio/midi',
	'wma' => 'audio/x-ms-wma',
	'wax' => 'audio/x-ms-wax',
	'mka' => 'audio/x-matroska',
	'rtf' => 'application/rtf',
	'js' => 'application/javascript',
	'pdf' => 'application/pdf',
	'swf' => 'application/x-shockwave-flash',
	'class' => 'application/java',
	'tar' => 'application/x-tar',
	'zip' => 'application/zip',
	'gz|gzip' => 'application/x-gzip',
	'rar' => 'application/rar',
	'7z' => 'application/x-7z-compressed',
	'exe' => 'application/x-msdownload',
	'psd' => 'application/octet-stream',
	'xcf' => 'application/octet-stream',
	'doc' => 'application/msword',
	'pot|pps|ppt' => 'application/vnd.ms-powerpoint',
	'wri' => 'application/vnd.ms-write',
	'xla|xls|xlt|xlw' => 'application/vnd.ms-excel',
	'mdb' => 'application/vnd.ms-access',
	'mpp' => 'application/vnd.ms-project',
	'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
	'docm' => 'application/vnd.ms-word.document.macroEnabled.12',
	'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
	'dotm' => 'application/vnd.ms-word.template.macroEnabled.12',
	'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
	'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12',
	'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
	'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
	'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12',
	'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
	'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
	'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
	'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
	'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
	'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
	'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12',
	'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12',
	'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide',
	'sldm' => 'application/vnd.ms-powerpoint.slide.macroEnabled.12',
	'onetoc|onetoc2|onetmp|onepkg' => 'application/onenote',
	'oxps' => 'application/oxps',
	'xps' => 'application/vnd.ms-xpsdocument',
	'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',
	'wp|wpd' => 'application/wordperfect',
	'key' => 'application/vnd.apple.keynote',
	'numbers' => 'application/vnd.apple.numbers',
	'pages' => 'application/vnd.apple.pages',
    );
    return $mime_types;
}
add_filter( 'upload_mimes', 'whitelist_mimes' );

Man muss in dieser Liste alle Mime-Typen auflisten, die gestattet werden sollen. Denn der WordPress-Standart wird damit automatisch ingoriert.

Eine tolle Übersicht der Mime-Typen findet ihr auf der Seite von selfhtml: https://wiki.selfhtml.org/wiki/MIME-Type/%C3%9Cbersicht

Welche Mime-Typen sind erlaubt

Folgende Mime-Typen in WordPress sind standartmäßig erlaubt:

‚jpg|jpeg|jpe‘ => ‚image/jpeg‘,
‚gif‘ => ‚image/gif‘,
‚png‘ => ‚image/png‘,
‚bmp‘ => ‚image/bmp‘,
‚tiff|tif‘ => ‚image/tiff‘,
‚ico‘ => ‚image/x-icon‘,
‚asf|asx‘ => ‚video/x-ms-asf‘,
‚wmv‘ => ‚video/x-ms-wmv‘,
‚wmx‘ => ‚video/x-ms-wmx‘,
‚wm‘ => ‚video/x-ms-wm‘,
‚avi‘ => ‚video/avi‘,
‚divx‘ => ‚video/divx‘,
‚flv‘ => ‚video/x-flv‘,
‚mov|qt‘ => ‚video/quicktime‘,
‚mpeg|mpg|mpe‘ => ‚video/mpeg‘,
‚mp4|m4v‘ => ‚video/mp4‘,
‚ogv‘ => ‚video/ogg‘,
‚webm‘ => ‚video/webm‘,
‚mkv‘ => ‚video/x-matroska‘,
‚3gp|3gpp‘ => ‚video/3gpp‘,
‚3g2|3gp2‘ => ‚video/3gpp2‘,
‚txt|asc|c|cc|h|srt‘ => ‚text/plain‘,
‚csv‘ => ‚text/csv‘,
‚tsv‘ => ‚text/tab-separated-values‘,
‚ics‘ => ‚text/calendar‘,
‚rtx‘ => ‚text/richtext‘,
‚css‘ => ‚text/css‘,
‚htm|html‘ => ‚text/html‘,
‚vtt‘ => ‚text/vtt‘,
‚dfxp‘ => ‚application/ttaf+xml‘,
‚mp3|m4a|m4b‘ => ‚audio/mpeg‘,
‚aac‘ => ‚audio/aac‘,
‚ra|ram‘ => ‚audio/x-realaudio‘,
‚wav‘ => ‚audio/wav‘,
‚ogg|oga‘ => ‚audio/ogg‘,
‚flac‘ => ‚audio/flac‘,
‚mid|midi‘ => ‚audio/midi‘,
‚wma‘ => ‚audio/x-ms-wma‘,
‚wax‘ => ‚audio/x-ms-wax‘,
‚mka‘ => ‚audio/x-matroska‘,
‚rtf‘ => ‚application/rtf‘,
‚js‘ => ‚application/javascript‘,
‚pdf‘ => ‚application/pdf‘,
’swf‘ => ‚application/x-shockwave-flash‘,
‚class‘ => ‚application/java‘,
‚tar‘ => ‚application/x-tar‘,
‚zip‘ => ‚application/zip‘,
‚gz|gzip‘ => ‚application/x-gzip‘,
‚rar‘ => ‚application/rar‘,
‚7z‘ => ‚application/x-7z-compressed‘,
‚exe‘ => ‚application/x-msdownload‘,
‚psd‘ => ‚application/octet-stream‘,
‚xcf‘ => ‚application/octet-stream‘,
‚doc‘ => ‚application/msword‘,
‚pot|pps|ppt‘ => ‚application/vnd.ms-powerpoint‘,
‚wri‘ => ‚application/vnd.ms-write‘,
‚xla|xls|xlt|xlw‘ => ‚application/vnd.ms-excel‘,
‚mdb‘ => ‚application/vnd.ms-access‘,
‚mpp‘ => ‚application/vnd.ms-project‘,
‚docx‘ => ‚application/vnd.openxmlformats-officedocument.wordprocessingml.document‘,
‚docm‘ => ‚application/vnd.ms-word.document.macroEnabled.12‘,
‚dotx‘ => ‚application/vnd.openxmlformats-officedocument.wordprocessingml.template‘,
‚dotm‘ => ‚application/vnd.ms-word.template.macroEnabled.12‘,
‚xlsx‘ => ‚application/vnd.openxmlformats-officedocument.spreadsheetml.sheet‘,
‚xlsm‘ => ‚application/vnd.ms-excel.sheet.macroEnabled.12‘,
‚xlsb‘ => ‚application/vnd.ms-excel.sheet.binary.macroEnabled.12‘,
‚xltx‘ => ‚application/vnd.openxmlformats-officedocument.spreadsheetml.template‘,
‚xltm‘ => ‚application/vnd.ms-excel.template.macroEnabled.12‘,
‚xlam‘ => ‚application/vnd.ms-excel.addin.macroEnabled.12‘,
‚pptx‘ => ‚application/vnd.openxmlformats-officedocument.presentationml.presentation‘,
‚pptm‘ => ‚application/vnd.ms-powerpoint.presentation.macroEnabled.12‘,
‚ppsx‘ => ‚application/vnd.openxmlformats-officedocument.presentationml.slideshow‘,
‚ppsm‘ => ‚application/vnd.ms-powerpoint.slideshow.macroEnabled.12‘,
‚potx‘ => ‚application/vnd.openxmlformats-officedocument.presentationml.template‘,
‚potm‘ => ‚application/vnd.ms-powerpoint.template.macroEnabled.12‘,
‚ppam‘ => ‚application/vnd.ms-powerpoint.addin.macroEnabled.12‘,
’sldx‘ => ‚application/vnd.openxmlformats-officedocument.presentationml.slide‘,
’sldm‘ => ‚application/vnd.ms-powerpoint.slide.macroEnabled.12‘,
‚onetoc|onetoc2|onetmp|onepkg‘ => ‚application/onenote‘,
‚oxps‘ => ‚application/oxps‘,
‚xps‘ => ‚application/vnd.ms-xpsdocument‘,
‚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‘,
‚wp|wpd‘ => ‚application/wordperfect‘,
‚key‘ => ‚application/vnd.apple.keynote‘,
’numbers‘ => ‚application/vnd.apple.numbers‘,
‚pages‘ => ‚application/vnd.apple.pages‘,

[ads_after_post_content]
Vernetze dich mit mir

Guten Morgen!

Vielen Dank für dein Interesse an meinem Artikel. Ich hoffe er hat dir gefallen?
Verbinde dich mit mir, wie die 5757 anderen tollen Menschen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.