Frisch notiert!
Die neusten Artikel aus unserem Blog.

WordPress 4.7.1: SVG Upload endet in „Tut mir leid, aber aus Sicherheitsgründen ist dieser Dateityp nicht erlaubt.“

von Adrian Lambertz / Zuletzt aktualisiert vor 2 Monaten / Allgemein / Server & Technik / Wordpress / 6

Seit dem letzten WordPress-Sicherheitsupdate auf Version 4.7.1 haben wir auf einigen Seiten das Problem, dass wir keine SVG-Dateien mehr hochladen können. Der Upload endet immer in der Fehlermeldung:

„Tut mir leid, aber aus Sicherheitsgründen ist dieser Dateityp nicht erlaubt.“

 

Klar – WordPress verbietet standardmäßig den Upload von SVG (und anderen potentiell gefährlichen Dateien), jedoch konnten wir den SVG Support bisher immer mit einem einfachen Filter nachträglich hinzufügen.

Das ist seit dem letzten Update aber nicht mehr der Fall. Die Entwickler des letzten Releases haben die WordPress Funktion etwas umgeschrieben und seitdem scheint es mit mehreren Dateitypen bzw. deren MIME-Types Probleme zu geben.

Wir haben einen Fix gefunden, der den SVG Support (vorerst) wiederherstellt:

function ignore_upload_ext($checked, $file, $filename, $mimes){

//we only need to worry if WP failed the first pass
if(!$checked['type']){
//rebuild the type info
$wp_filetype = wp_check_filetype( $filename, $mimes );
$ext = $wp_filetype['ext'];
$type = $wp_filetype['type'];
$proper_filename = $filename;

//preserve failure for non-svg images
if($type && 0 === strpos($type, 'image/') && $ext !== 'svg'){
$ext = $type = false;
}

//everything else gets an OK, so e.g. we've disabled the error-prone finfo-related checks WP just went through. whether or not the upload will be allowed depends on the upload_mimes, etc.

$checked = compact('ext','type','proper_filename');
}

return $checked;
}
add_filter('wp_check_filetype_and_ext', 'ignore_upload_ext', 10, 4);

(Quelle)

Da wir einige Kunden haben, die den SVG Support dringend benötigen, konnten wir nicht auf ein neues WP Update warten, welches das Problem löst, sondern mussten diesen Fix anwenden. Mit Erfolg.


Adrian Lambertz

Seit 2010 bin ich nun schon bei Pixelbar mit dabei. Zuerst als Auszubildender und nach erfolgreichem Abschluss meiner Ausbildung als Frontend-Entwickler.

Ohne Musik und Kaffee kann ich nicht leben, daher konsumiere ich beides während der Arbeit praktisch durchgehend :).

Daneben liebe ich WordPress – darauf habe ich mich spezialisiert.

Weitere Beiträge von adrian anzeigen

6 Kommentare

  1. Manuel

    Ich bin noch nicht allzu lang in der WP Szene dabei, deswegen wäre es super wenn mir einer sagen könnte wo ich die Tags genau eingebe? in der PHP oder in der htacess? Danke im vorraus.

    • Hallo Manuel,

      Funktionen und Filter wie oben Beschrieben, werden in der functions.php Deines Themes, oder aber in form eines kleine Plugins nachinstalliert. Die functions.php findest Du im Root Verzeichnis Deines WordPress Themes (wp-content/themes/dein-theme/functions.php)

      Damit Änderungen nicht mit dem kommenden Update Deines Themes verloren gehen, empfielt es sich, ein Childtheme anzulegen.

      Viele Grüße
      Ben

Hinterlasse eine Antwort