Text aus Matomo-iframe wird nicht angezeigt


#1

Hi!
Auf meiner Joomla-Website wurde bisher der Text, den Matomo betr. der Information über die aktuellen Tracking-Einstellungen ausliefert, nicht in einem iFrame dargestellt sondern in eine sogenannte Mediabox (JCE-Mediabox) geladen und in einer Shadowbox dargestellt. Das lief stabil und zuverlässig.
Jetzt habe ich meine Site auf https umgestellt (HSTS) und ein Zertifikat ist installiert. Natürlich habe ich auch die zu dem Tracking-Text zugehörigen Links in https:// geändert, sodass der Text auch jetzt – wie bisher – angezeigt werden könnte. Tut er aber nicht!
Mein Link zum Cookie-Text von Matomo

Bei Mausklick auf den Link zum Matomo-iFrame-Text öffnet sich brav die Shadowbox, aber stets ohne Inhalt.
Mein Verdacht: Da meine Website auf https und auch auf HSTS umgestellt wurde, können nur Inhalte in der Site dargestellt werden, die ebenfalls per https angeliefert werden. Matomo müsste also https beim Ausliefern des iFrame-Text beherrschen und den Text verschlüsselt an die Joomla-Site ausliefern.
Dabei habe ich auch der Matomo-Installation ein Zertifikat spendiert und auf https umgestellt.

Übrigens: Wenn ich die URL zu dem Matomo-iFrame-Text neu in ein Browser-URL-Feld eingebe, bekomme ich den Text einwandfrei angezeigt.

Auf was muss ich (z.B. in den htaccess) achten, damit der gewünschte Text aus Matomo angezeigt wird?
Oder wo sollte ich den Fehler suchen?


(Lukas Winkler) #2

Hallo,

Ja Matomo muss in dem Fall per HTTPS erreichbar sein (was grundsätzlich mal eine gute Idee ist)

Wenn alles richtig aussieht und nur im iFrame nicht funktioniert würde ich auf x-frame-options header oder CSP header tippen.

Kann es sein, dass du zu deiner Webserver-Config den x-frame-options hinzugefügt hast? Der sorgt dafür, dass das Einbinden als iFrame nicht funktioniert.

Update
Und tatsächlich: Dein Matomo sendet x-frame-options: SAMEORIGIN.

Da matomo.example.com nicht dieselbe origin wie example.com ist, blockiert der Browser das iFrame.


#3

WOW!!! DANKE!!!
Genau das war’s! Ich hatte die htaccess überprüft und leider auch in diesem Punkt verändert. Denn dieses Header-Setting habe ich von meiner Joomla-Website aus der htaccess dort kopiert.
Hier die Header-Settings in Matomo:

<IfModule mod_env.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Robots-Tag "none"
Header always set X-Download-Options "noopen"
Header always set X-Permitted-Cross-Domain-Policies "none"
Header always set Strict-Transport-Security "max-age=63072000; preload"
SetEnv modHeadersAvailable true
</IfModule> 

und hier die aus Joomla:

<IfModule mod_env.c>
Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' https://matomo.meineJoomlaSite.de"
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Robots-Tag "index, follow"
Header set X-Download-Options "noopen"
Header set X-Permitted-Cross-Domain-Policies "none"
Header always set Strict-Transport-Security "max-age=63072000; preload"
SetEnv modHeadersAvailable true
</IfModule>

Bei der Gelegenheit möchte ich noch fragen: Gibt es irgendwo eine htaccess-Empfehlung zur Absicherung von Matomo? Ich glaube, meine htaccess ist seit langer Zeit gleich geblieben und sicher update-würdig. Nur die Header-Settings und die redirects auf https hatte ich ergänzt.


(Lukas Winkler) #4

Hallo,

Zu .htaccess kann ich überhaupt nichts sagen, weil ich noch nie Apache verwendet hat. Ich glaube aber, dass Matomo automatisch einige .htaccess einträge erstellt.

In nginx verwende ich das hier: