Mehrere Websites - SameOrigin + ContentSecurityPolicy

Leider erneut ein Problem:
Bei zwei Domains registrierte ich einen scheinbar abnehmenden Besucherstrom. Beide haben gemeinsam, dass Matomo auf einer anderen Domain liegt.
Ursache ist anscheinend, dass immer mehr Browser CrossDomain-Abfragen verhindern oder die AddIns uBlockOrigin / uMatrix immer mehr Anwendung finden. Ich habe aber auch in den htaccess meiner beiden Websites entsprechende Regeln gesetzt, wie z.B.:

<IfModule mod_env.c>
Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' https://meine-matomodomain.de"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Permitted-Cross-Domain-Policies "https://meine-matomodomain.de"

Die letzte der obigen Zeilen sollte doch eigentlich den gewünschten Erfolg bringen.
Aber Firefox meldet mir in der Konsole, dass das Matomo-Script wegen uMatrix geblockt wurde. Dabei dachte ich, ich könnte mittels “CORS” = Cross Origin Ressource Sharing das Problem lösen.

Welche Möglichkeit gibt es, mein auf abweichender Domain liegendes Matomo so einzubinden, dass das Matomo-Script trotz uMatrix oder uBlockOrigin ausgeführt wird?
Ist das durch einen entsprechenden htaccess-Eintrag überhaupt möglich?
Und wenn nein, dann wird mir sicher auch die noscript-Variante von Matomo nicht weiter helfen:

<noscript><p><img src="https://meine-matomodomain.de/piwik.php?idsite=0" style="border:0;" alt="" /></p></noscript>

Was tun?

Hallo,

CORS hat nichts mit uBlockOrigin und uMatrix zu tun. (und Content-Security-Policy/CSP ist auch ein wenig etwas anderes).

CORS ist ein Browser-Sicherheitsfeature, dass verhindert, dass zum Beispiel eine beliebige Webseite im Hintergrund ein POST an https://irgendeine.webseite.example/account/delete senden kann und somit zum Beispiel deinen Account auf einer anderen Webseite, bei der du angemeldet bist, zugreifen kann.
Das ist aber kein Problem für Matomo, da der Server (also matomo.php) es dem Browser erlaubt solche Anfragen zu machen.

CSP ist ein moderneres Feature, womit man weiter einschränken kann, was ein Browser darf. Zum Beispiel kann man damit verhindern, dass <script>alert(1)</script> Tags in der Seite erlaubt sind (was gegen XSS hilft). Aber man kann damit nur die Möglichkeiten der Seite einschränken, nicht den Browser zwingen mehr zu erlauben.

Und Browseraddons erlauben es Nutzern bestimmte Anfragen zu blockieren (entweder manuell nach der Art der Anfrage wie in uMatrix oder nach vorgegebenen Filterregeln wie in uBlock Origin). Das ist unabhängig vom Rest und es würde am Sinn vorbeigehen, wenn eine Webseite der Erweiterung sagen könnte etwas nicht zu blockieren. Und das ist auch gut so, denn der Browser ist ein user agent und es ist immer noch der Nutzer, der entscheiden darf, welcher code auf dem eigenen Computer ausgeführt wird.

Am einfachsten wäre es, wenn du mir konkretes Beispiel (gerne auch als direct message) schicken kannst, wo ein Trackingaufruf zu Matomo nicht möglich ist.

Vielen Dank für deine Erklärungen. Da hab ich wohl noch einiges nicht verstanden.
Aber ich muss noch mal klar stellen: Der Aufruf des Matomo-Script würde ja funktionieren, wenn ich htaccess so gestalte, dass die SameOriginPolicy den Aufruf nicht in Verbindung mit dem Browser verhindert. Das habe ich ja getan, bei z.B. dieser Domain:


Dort ist das Matomo-Script inline eingebunden und zusätzlich auch der noscript-Zählpixel.

Aber die Besucherzahlen, die seit längerer Zeit konstant waren (ich hab ja auch nie was Neues dort veröffentlicht) gehen scheinbar seit ca. 1 Jahr ständig zurück.
Daraufhin habe ich die Funktion betr. Matomomo getestet, indem ich die Site über den Kabelanschluss meiner Bekannten aufgerufen habe. Diese IP kennt Matomo nicht und so müsste der Besuch registriert worden sein. Tat es aber nicht. Denn sie hat einen von mir eingerichteten PC mit Firefox und uBlockOrigin und uMatrix installiert.

So kam ich überhaupt auf das Thema hier. Einerseits freue ich mich darüber, dass mit den beiden AddOn das ewige Nachladen von unerwünschter Werbung, Fonts und Scripten wirksam unterbunden wird – und damit offensichtlich auch Matomo ausgesperrt wird. Andererseits möchte ich aber doch gerne Matomo betreiben können und sehen können, welche Seiten besonders attraktiv sind, welche typische Killerseiten (Ausstieg) sind usw. – Alles aber eben kein Tracking.

Ich frage deshalb mal anders:
Verhindert ein Besucher meiner Website mittels der o.g. AddOn zuverlässig, dass dessen Besuch von Matomo bemerkt und aufgezeichnet wird? – Wenn ja, dann wäre ja die Auswertung der Server-Logs aussagekräftiger und ich könnte Matomo einsparen.

Am einfachsten ist es immer die Entwicklertools des Browsers zu kontrollieren. Vor allem Firefox hat inzwischen sehr gute Tools, die im Netzwerktab genau erklären, weshalb eine Anfrage potentiell blokiert wurde.

Bedenke, dass Serverlogs wieder ihr eigenes Fass an Problemen mitbringen (allen voran: Wie kann der Benutzer einen Opt-Out klarstellen).

Genau das hab ich doch gemacht! Die Entwicklertools sagen mir, dass das Matomo-Script von uMatrix blockiert wird, obwohl ich in der htaccess die Ausnahme für das Matomoscript definiert habe:

Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' https://meine-matomo-domain.de"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Permitted-Cross-Domain-Policies https://meine-matomo-domain.de"

Deswegen habe ich ja inzwischen den Verdacht, dass solche Blocker zunehmend eine vernünftige Analyse durch Matomo unmöglich machen, sofern Matomo auf einer anderen Domain läuft als die zu analysierende Website.
Und diese Problematik müssten doch zig andere User haben und nicht nur ich!

Und ja, mir ist klar, dass Serverlogs nicht DSGVO-konform sind. Falls mein o.g. Verdacht sich bestätigen würde, so müsste ich künftig für jede einzelne Website eine Subdomain anlegen und somit für jede Website eine eigene Matomo-Instanz anlegen.
Bei demnächst vier Websites macht das dann bei Updates / Pflege so richtig Spaß.