Schriftart nicht geladen - wegen X-Content-Type-Options

  • Hallo,


    auf meiner Website binde ich eine TTF-Schriftart via CSS ein. Und zwar so (in der user.css):


    @import "../fonts/sbl-hbrw/SBL-Hbrw.ttf";


    Innerhalb von Joomlaartikeln verwende ich diese Schriftart fallweise. Das heißt, ich erstelle ein span-Element mit der CSS-Klasse hebrew, um die Formatierungsangaben aus der user.css zu verwenden.


    In Chromium-basierten Browsern wird die Schriftart auch korrekt genutzt - aber im Firefox leider nicht. Ein Blick in die Konsole verrät mir folgende Meldung:


    Die Ressource von "https://www.domain.de/media/templates/site/templatename/fonts/sbl-hbrw/SBL-Hbrw.ttf" wurde wegen eines MIME-Typ-Konfliktes ("application/font-sfnt") blockiert (X-Content-Type-Options: nosniff).


    So ganz schlau werde ich aus den Beschreibungen hier (https://developer.mozilla.org/…rs/X-Content-Type-Options) noch nicht. Wenn ich es richtig verstehe, ist das eine Sicherheitsfunktion, um Sniffing zu vermeiden. Dann frage ich mich allerdings, warum es das bei Chromium nicht (standardmäßig) gibt. Deaktivieren sollte man das ja dann nicht, oder?


    Ich bitte um Tipps, wie ich das am besten managen könnte. Die einzige Alternative, die mir derzeit einfällt, ist es die CSS-Styles direkt inline reinzuschreiben. Das geht - hab ich schon probiert - aber eigentlich ist das nicht schön. Bläht ja nur unnötig auf. Komisch dabei ist, wenn ich es inline reinschreibe, dann meckert Firefox nicht rum. Hm ... :?:

  • Probiers mit einer Zeile in der .htaccess

    Code
    AddType application/font-sfnt .otf .ttf

    bzw. suche im Netzt nach AddType-Einstellungen, falls ich falsch liege.


    Radikalere Variante. In der .htaccess

    Code
    ## Suppress mime type detection in browsers for unknown types
    <IfModule mod_headers.c>
        Header always set X-Content-Type-Options "nosniff"
    </IfModule>

    ändern nach

    Code
    ## Suppress mime type detection in browsers for unknown types
    <IfModule mod_headers.c>
        # Header always set X-Content-Type-Options "nosniff"
    </IfModule>
  • Probiers mit einer Zeile in der .htaccess

    Code
    AddType application/font-sfnt .otf .ttf

    bzw. suche im Netzt nach AddType-Einstellungen, falls ich falsch liege.


    Radikalere Variante. In der .htaccess

    Code
    ## Suppress mime type detection in browsers for unknown types
    <IfModule mod_headers.c>
        Header always set X-Content-Type-Options "nosniff"
    </IfModule>

    ändern nach

    Code
    ## Suppress mime type detection in browsers for unknown types
    <IfModule mod_headers.c>
        # Header always set X-Content-Type-Options "nosniff"
    </IfModule>

    Danke für deine Ideen. Als ich - nach deiner Empfehlung - nach "AddType" zu suchen begann, stieß ich recht schnell auf font-face. Irgendwie hatte ich das bissl vergessen. Jedenfalls funktioniert das wunderbar. Denn mit font-face kann ich ja auch gleich das Format mitliefern und damit ist auch Firefox zufrieden. ;)

  • War so gemeint:


    Stichwort Kompression.


    TTF sind vergleichsweise groß. Zusätzlich gibt es ja Konverter im Netz.


    Ich biete halt TTF neben WOFF usw. an. Ein paar Uraltbrowser sind "glücklich" über TTF und ich sehe auf meiner Seite, dass tatsächlich noch Browser meiner Besucher TTF und sogar EOT ziehen.


    Aber moderne Browser brauchen das nicht und sind "glücklich", dass sie die Fonts schneller laden können.


    Alle unterstützen TTF: https://caniuse.com/ttf

    Aber die meisten wären halt mit WOFF/WOFF2 zufriedener: https://caniuse.com/?search=WOFF

    "WOFF2" | Can I use... Support tables for HTML5, CSS3, etc