statistics icon indicating copy to clipboard operation
statistics copied to clipboard

Zu ignorierende Pfade & Zu ignorierende REGEX scheint nicht richtig zu funktionieren

Open iceman-fx opened this issue 1 year ago • 3 comments

Ich habe aktuell das Problem, dass ein Formularaufruf ca. 500000 Einträge in 6 Monaten in der DB ablegt, was den Aufruf des Addons massiv verlangsamt. Grund sind irgendwelche Trolle, die versuchen Schindluder mit dem Formular zu produzieren (= massig Seitenaufrufe von unterschiedlichen IPs aus).

Der Versuch, diesen Aufruf gar nicht erst zu loggen, schlägt jedoch fehl. Egal was ich in den Einstellungsfeldern definiere, es wird weiterhin geloggt.

Zu ignorierende Pfade:
www.domain.de/service/kurszertifikat-abrufen

und/oder

Zu ignorierende REGEX:
^www\.domain\.de\/service\/kurszertifikat-abrufen

Was mache ich falsch oder liegt da ein Bug vor? Beide Varianten sollten doch einen Pfad, welcher mit www.domain.de/service/kurszertifikat-abrufen beginnt nicht loggen?

iceman-fx avatar Aug 14 '24 12:08 iceman-fx

Ist dies hier die Prozedur zum loggen des Aufrufes? Wenn ja, dann wird hier doch gar nix bzgl. Pfade/Regex ignorieren geprüft?

        if (rex::getRequest()->getRequestUri() != "/favicon.ico") {

            if ($response_code == rex_response::HTTP_OK || !$addon->getConfig("statistics_rec_onlyok", false)) {
                // visitduration, number pages visited, last visited page
                $sql = rex_sql::factory();
                $sql->setQuery("INSERT INTO " . rex::getTable('pagestats_sessionstats') . " (token, lastpage, lastvisit, visitduration, pagecount) VALUES (:token, :lastpage, NOW(), 0, 1) ON DUPLICATE KEY UPDATE lastpage = VALUES(lastpage), visitduration = visitduration + (NOW() - lastvisit), lastvisit = NOW(), pagecount = pagecount + 1", [":token" => $token, ":lastpage" => $url]);
            }
        }

iceman-fx avatar Aug 14 '24 12:08 iceman-fx

Aktuell werden für die Sessionstats die Einstellungen "Zu ignorierende Pfade & Zu ignorierende REGEX" nicht angewendet.

AndiLeni avatar Sep 03 '24 15:09 AndiLeni

Für das ursprüngliche Anliegen würde ich empfehlen, eine Firewall zu verwenden und Filter, die Bots nach bestimmten Aktivitäten komplett ausschließen.

Generell sind für eine Datenbank 500.000 Datensätze 'n Witz - jedoch vielleicht für die aktuelle Umsetzung des statistics-Addons ein Problem, wenn diese vorgehalten und nicht selektiert werden.

AWqxKAWERbXo avatar Nov 19 '24 14:11 AWqxKAWERbXo