Aha, na siehste.
bei Cloudflare steht:
The original visitor IP address appears in an appended HTTP header called CF-Connecting-IP.
→
Alternatively, if you do not wish to receive the CF-Connecting-IP
header or any HTTP header that may contain the visitor’s IP address, enable the Remove visitor IP headers Managed Transform.
→
- Log in …
Bitte lesen: https://developers.cloudflare.com/rules/transform/managed-transforms/configure/
Andererseits… diese CF-Connecting-IP
soll im HTTP Header mitgesendet werden. Den HTTP Header müsstest du also mal testweise auslesen. Wobei ich gerade nicht den Durchblick habe. Was wird mit Cloudflare gemanaged? Die Website oder Matomo?
HTTP Headers auslesen mit PHP.
https://www.php.net/manual/de/function.getallheaders.php
Das müsstest du testweise in die matomo.php einbauen und das Ergebnis in ein Textfile schreiben:
https://www.php.net/manual/de/function.file-put-contents.php
In etwa so:
matomo.php
(vorher eine Kopie anlegen)
<?php // erste Zeile, bereits vorhanden.
$mytest_concat = "";
foreach (getallheaders() as $key => $value) {
$mytest_concat .= $key . ": " . $value;
$mytest_concat .= PHP_EOL;
}
file_put_contents(__DIR__ . "/mytest" . time() . ".txt", $mytest_concat);
Wenn die CF-Connecting-IP
bei getallheaders()
nicht dabei ist, dann mal $_SERVER
probieren.
Bei dem PHP-Code wird bei jedem Request eine Datei angelegt mit dem HTTP Header als Inhalt. Wenn es also viele Request sind, dann werden es viele Dateien.
Mach das aber nur, wenn du weißt was du machst.
Wenn dann der Key
vom HTTP-Header Array, also dieses CF-Connecting-IP
bekannt ist, dann kann diese direkt aus dem HTTP-Header ausgelesen werden und durch die Cloudflare-IP ersetzt werden.
$userIPtrue = getallheaders()["CF-Connecting-IP"];
Allerdings ist das Matomo dann ein Mod und muss bei jedem Update neu gemoddet werden, oder ein Issue bei Github eröffnen und ein Einpflegen dieses IP-Austausches vorschlagen. In etwa so:
- Wenn
CF-Connecting-IP
vorhanden, dann IP mit dieser ersetzen.
Also das Ziel wäre, dies in den Matomo Code zu integrieren.
Andererseits… soeben gefunden: