AndiLeni / statistics

Statistik Addon zur Erfassung von Seitenaufrufen. Für das CMS Redaxo.
MIT License
32 stars 5 forks source link

Wunsch: Auswertung der Besucher pro Tag #56

Closed iceman-fx closed 2 years ago

iceman-fx commented 3 years ago

Zu den Auswertungen der Seitenaufrufe, Browser, Bots, etc. wäre es noch toll, wenn man dies auch zu den Besuchern hätte. Ein Besucher wäre dabei ein eindeutiger Besucher, welcher mehrere Seitenaufrufe erzeugen kann.

Ich denke, dass diese Zahl bereits in Deiner DB schlummert und nur als Diagramm ausgegeben werden müsste.

AndiLeni commented 3 years ago

Das kann ich leider nicht auswerten, denn ein Besucher kann nicht Seiten-übergreifend erfasst werden.

iceman-fx commented 3 years ago

Aber du prüfst doch den Nutzer bei jedem Seitenaufruf aller halben Stunde. Damit hast Du ihn doch schon geloggt. Der User müsste dann nur vermutlich in einer separaten Tabelle gespeichert werden.

iceman-fx commented 3 years ago

Ich habe mir jetzt mal die DB-Einträge angeschaut.

Waren denn nicht die Einträge in rex_pagestats_hash die einzelnen Besucher? Wenn ja, dann hast Du doch schon alles schon da und müsstest nur eine Tagessumme bzw. eine Summe über den gewählten Zeitraum erstellen.

AndiLeni commented 3 years ago

Das Problem dabei ist, dass die Einträge in der hash Tabelle regelmäßig aktualisiert werden. Zudem enthält der hash die besuchte URL, der Besucher kann also nicht eindeutig isoliert werden. Falls der Besucher also zwei Seiten aufruft wird er mit zwei hashs gespeichert die nicht miteinander in Verbindung stehen. Die könnte man dann zählen, käme dann aber auf die Seitenaufrufe pro Tag und nicht auf die Anzahl an Besuchern.

Wenn man so etwas möchte müsste man wohl eine zusätzliche Tabelle mit anderen hashes anlegen.

iceman-fx commented 3 years ago

Mit einer extra Tabelle wäre es toll 😃

iceman-fx commented 3 years ago

Gibt es hierbei schon neues?

AndiLeni commented 3 years ago

Nein, leider nicht.

Ich bin mir nicht ganz sicher, wie man die Besucher Datenschutz-konform identifizieren und speichern könnte.

Man könnte den User Agent und die IP hernehmen, aber ich weiß nicht ob das dann "sicher" genug ist wenn man diese Infos hasht (IPs sind ja personenbezogene Daten).

Hast du da eine Idee?

iceman-fx commented 3 years ago

Nutzt Du die IP nicht jetzt auch schon in Deinem Hash für den Seitenaufruf?

iceman-fx commented 3 years ago

Grundsätzlich spricht da nichts dagegen, die IP zu nutzen. Da die Datensammlung lokal erfolgt und praktisch alle Webserver dies auch im Hintergrund machen, müsste der Nutzer der Webseite lediglich eine Info in seiner Datenschutzerklärung haben.

Es erfolgt ja kein Tracking über Seiten und Zeiträume hinweg. Auch speicherst Du ja die IP nicht.

Ich würde die IP und den UserAgent hashen und diesen Wert dann hochzählen.

AndiLeni commented 3 years ago

Für den Besucher hash nehme ich User-Agent + url + IP und hashe das.

Meine bedenken gingen dahin, dass nur die IP gehasht nicht sehr sicher ist, denn es gibt alle IPs gehasht im Internet zu finden.

Aber wenn man den User-Agent + IP nimmt dürfte das gehasht ja relativ eindeutig und sicher sein.

iceman-fx commented 3 years ago

Du kannst zusätzlich auch noch einen Salt mit einbeziehen, welcher dann den Hash entsprechend verändert,

AndiLeni commented 3 years ago

Diesen Salt müsste ich dann aber auch wiederum täglich ändern und nach einem Tag löschen. Ich weiß nicht ob man das sicher hinbekommt. (gerade wenn kein cron verfügbar. )

iceman-fx commented 3 years ago

Nein. Der Salt soll ja nur dazu diesen, dass mögliche gehashte IPs aus dem Web nicht mehr stimmen um diese schnell zurückkodieren zu können. Dein Hash ist ja nicht öffentlich im Web verfügbar.

Selbst wenn Du schon den UserAgent und das Datum dazu nimmst, hast Du einen Hash den Du nicht gleich im Web finden wirst. Noch sicherer ist es halt mit einem individuellen Hash, den Du einmalig bei Installation erzeugen und im Redaxo ablegen kannst.

Oder habe ich das mit den IPs aus dem Web falsch verstanden?