Anonyme IP

Geschätzte Lesezeit: 2 Minuten
Zenphoto Anonyme IP in Statistik.

Zenphoto bringt von Haus aus einige Statistikfunktionen mit.
Mit der Aktivierung des ’search statistic‘ Plugins werden auch die Suchanfragen statistisch erfasst.
Wie der Titel des Artikels ‚Zenphoto Anonyme IP‘ vermuten lässt, wollen wir die IP Adresse der Besucher anonymisieren.

Das Plugin ist für mich sehr hilfreich um festzustellen wonach die Besucher meiner Seite suchen.
Dementsprechend habe ich dieses Plugin bei mir gleich nach der Installation aktiviert.

Die von den Besuchern durchgeführten Suchen werden dabei in der Tabelle:
plugin_storage
gespeichert.

Dabei fällt auf, dass dabei auch die komplette IP der Besucher mit in die Datenbank geschrieben wird, was ich persönlich so eigentlich nicht haben möchte.
Demzufolge habe ich nach einem Weg gesucht um die Besucher-IP’s zu anonymisieren.

Dies lässt sich mit einigen Zeilen Code relativ einfach realisieren.

Zenphoto Anonyme IP einrichten

Achtung:
Für den beschriebenen Lösungsweg ist es notwendig eine der Core Dateien von Zenphoto zu editieren.
Dies ist grundsätzlich kein empfehlenswerter Weg.

Daher erfolgen alle Änderungen ausdrücklich auf eigenes Risiko!
Ausserdem ist die Wahrscheinlichkeit hoch, dass die von Euch gemachten Änderungen bei einem Zenphoto Update überschrieben werden.

Wir werden im Folgenden die Datei:
functions.php
um einige Zeilen Code ergänzen.

Diese Datei befindet sich im ‚zp_core‘ Verzeichnis Eurer Zenphoto Installation.
Zunächst legt bitte ein Backup dieser Datei an (wichtig)!

Danach öffnet Ihr die Datei in einem Editor. Ungefähr in Zeile 2050 befindet sich die Funktion für die Besucher IP. Am einfachsten findet Ihr diese, wenn Ihr in der Datei nach:
function getUserIP
sucht.

Ihr findet dann den Eintrag:
function getUserIP() {

Fügt nun vor diesem Eintrag die folgenden Codezeilen ein:

function getAnonymIp( $ip ) {
return preg_replace(‚/[0-9]+\z/‘, ‚0‘, $ip);
}

Ein paar Zeilen weiter unten findet Ihr zwei Einträge:
return $ip;

Fügt bitte vor diesen Einträgen jeweils ein:
$ip = getAnonymIp( $ip );

 

Der gesamte Code

Der komplette Codeblock sieht nun wie folgt aus:

function getAnonymIp( $ip ) {    
    return preg_replace('/[0-9]+\z/', '0', $ip);
    }

 
function getUserIP() {
    $pattern = '~^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$~';
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = sanitize($_SERVER['HTTP_X_FORWARDED_FOR']);
        if (preg_match($pattern, $ip)) {
        $ip = getAnonymIp( $ip );
            return $ip;
        }
    }
    $ip = sanitize($_SERVER['REMOTE_ADDR']);
    if (preg_match($pattern, $ip)) {
    $ip = getAnonymIp( $ip );
        return $ip;
    }
    return NULL;
}

 

Die gemachten Änderungen führen dazu, dass der letzte Block der Besucher IP durch die Zahl Null erzetzt wird.
Sollte bei den Änderungen etwas schiefgehen, ersetzt die geänderte Datei bitte durch das zuvor gemachte Backup.

Die beschriebenen Änderungen beziehen sich auf die im März 2017 aktuelle Zenphoto Version.

Auch wenn es weiter oben schon erwähnt wurde hier nochmals der Hinweis:
Änderungen an den Core Dateien erfolgen auf eigenes Risiko!

Sollte jemand einen eleganteren Weg bei dem sich die Anonymisierung der IP ohne Änderungen einer Core Datei durchführen lässt wäre ich für einen Tipp dankbar.
Nutzt dafür einfach die Kommentarfunktion unter dem Beitrag.

Seit Version 1.5 bringt Zenphoto die Anonymisierungsfunktion von Haus aus mit!

Mehr Informationen zu Zenphoto gibt es hier.

 

Ralf

Jahrgang 1962, lebt mit Frau, Katzen und Hund an der Grenze Münsterland / Ruhrgebeit.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich bin mit der Verarbeitung meiner übermittelten Daten einverstanden.