CSS Firefox lädt Clipping Mask CSS nicht richtig bei Weiterleitung auf HTTPS Seite

TheRiddler1982

Cadet 2nd Year
Registriert
Nov. 2012
Beiträge
31
Hi zusammen,

ich habe ein ganz merkwürdiges Problem mit Firefox. Habe vor kurzem meine Webseite http://ziin.de vollkommen auf https umgestellt. Das hat wunderbar geklappt, bis auf eine Ausnahme: Firefox macht mit mit Clipping Masks Probleme, wenn die Seite über http://ziin.de aufgerufen wird, die dann zu https://ziin.de weiterleitet. Chrome, Opera und Safari sind hiervon nicht betroffen.

Ich nutze auf meiner Startseite viele Clippingmasks in Form von Diagonalen. Rufe ich meine Startseite über http://ziin.de auf, dann bekomme ich folgenden Renderer:

https://ziin.de/HTTP-Aufruf.jpg

Das Clipping wird nicht angewendet. Rufe ich dagegen explizit die https-Seite auf, rendert mir Firefox das Clipping sauber:

https://ziin.de/HTTPS-Aufruf.jpg

Habe schon über die .htaccess oder die httpd.conf versucht, von dort gleich die HTTPS Weiterleitung zu aktivieren, aber ohne Erfolg.

Mein Webserver läuft auf Debian 8 mit Apache 2.4.16 (OpenSSL 1.0.2).

Muss ich was am CSS verändern oder an der Konfiguration von meinem Webserver?

Ich danke Euch!
 
Hmm, Ich glaube du bist auf einen merkwürdigen Browser Bug gestoßen.

Nach einem kurzen Blick in die Entwicklertools fallen mir ein paar Unterschiede auf:
Der Bug entsteht im FF nur bei einer HSTS Weiterleitung.
Beim ersten Aufruf mit HTTP sendet die Seite eine Weiterleitung zur HTTPS Seite. Dabei entsteht der Bug nicht.
Außerdem hat die HTTPS Seite den HSTS "Strict-Transport-Security" Header, was sicherheitstechnisch sehr gut ist.
Bei weiteren Aufrufen per HTTP hat man dann die Browser-interne HSTS Weiterleitung, statt der HTTP Weiterleitung und nur dabei entsteht der Bug.
Bei Aufrufen direkt per HTTPS keine Weiterleitung und auch kein Bug.

Vielleicht gibt es tief im FF einen Bug mit dem HSTS Schutz in Kombination mit dem verwenden von SVG's per url(#id) im CSS oder so.
Den HSTS Header weglassen könnte es vieleicht beheben, aber dadurch würde die Sicherheit etwas verschlechtert werden. (Danach Cache leeren bzw. Privaten Modus zum testen verwenden, damit der Header nicht weiter wirkt)

Der Chrome scheint bei mir den HSTS Header überhaupt nicht zu beachten :confused_alt: Gibt immer die Weiterleitung durch den Server bei HTTP.
Aber da sind die SVG's auch nicht in Verwendung und es funzt ja.
 
Hi,

wow, danke für die Antwort. Ich habe mal HSTS ausgeschaltet, jedoch ist der Effekt weiterhin da.

Folgendes ist bei mir in der ssl.conf noch aktiv:

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder On
SSLSessionTickets Off
# Header always set Strict-Transport-Security "max-age=63072000"
# Header always set X-Frame-Options SAMEORIGIN
# Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
SSLProtocol all -SSLv3

Ich fange erst langsam mit der ganzen Materie an. Ich kenne mich leider nicht mit den DEV Tools aus. Könntest du dir nochmal die Kette anschauen, wo es jetzt bei mir kracht?


Danke dir.

Ich kann parallel mal bei Mozilla ein Bugreport aufmachen.


Viele Grüße!
Ergänzung ()

Hi,

liegt das eventuell nur an dem Inline SVG? Ich habe weitere externe SVGs auf der Seite, die keine Probleme machen. Würde das vielleicht noch helfen?
 
Also im Privaten Modus geht es bei mir jetzt Problemlos. :daumen:
Die HSTS Funktion wird halt recht hartnäckig gespeichert (was für die Sicherheit ja auch Sinn macht). Cache leeren scheint bei mir auch nicht auszureichen. Also entweder Privaten Modus bzw. anderes (leeres) FF Profil zum testen. Sonst greift noch die HSTS Funktion von früher, auch wenn der Header jetzt fehlt.

Wenn du im FF Menü Entwicklertools->Netzwerkanalyse auswählst, kannst du alle Netzwerkanfragen incl. Header etc. angucken ;) Da kann man z.B. auch sehen ob HSTS greift oder nicht. Wenn beim Aufruf der http Seite die erste Anfrage eine http Weiterleitung ist (301 Status), gibt es kein Problem. Wenn diese Anfrage fehlt greift HSTS und der Browser geht direkt zur https Version (das ist ja auch der Sinn der Sache).

Ich vermute beim Auflösen der url() Funktion im CSS gibt es in der http Implementierung vom FF einen Bug in Kombination mit HSTS Weiterleitungen. Da wird vllt. intern irgendwas falsches geblockt. Kann sein, dass es nur bei Seiten-internen Links passiert und nicht bei einer externen SVG. Hab gerade keine Zeit um einen isolierten Testfall zu bauen :D Ist aber ein interessanter Bug.
 
Hi,

danke für die Erklärung. Ich schau mir das mal in den DEVTools an.

Es muss aber eine elegantere Lösung geben, dass man das bei Firefox ohne neues Profil hinbekommt :-) HSTS scheint hier ja hartnäckiger als ein Trojaner zu sein :-)

Ansonsten kann ja keiner die Seite so sehen "as it meant to be", wenn er schon mal diese besucht hat :-)

Ich bastel gerade noch an den externen SVGs. Die wollen irgendwie noch nicht so ganz. Wenn es damit klappt, umso besser.
 
Zurück
Oben