Skip to content

Commit

Permalink
fix for cleanup if table maintenance is empty
Browse files Browse the repository at this point in the history
  • Loading branch information
webchills committed Apr 1, 2024
1 parent 72e6137 commit 47df569
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
Expand Up @@ -5,7 +5,7 @@
* Copyright 2023 marcopolo
* see https://github.com/CcMarc/AbuseIPDB
* license GNU General Public License (GPL)
* version $Id: 2.0.7.php 2023-05-30 20:21:16Z webchills $
* version $Id: 2.0.7.php 2024-04-01 21:34:16Z webchills $
*/


Expand Down Expand Up @@ -46,8 +46,8 @@
('AbuseIPDB - Whitelist', 'ABUSEIPDB_WHITELISTED_IPS', 'Wenn Sie hier IP-Adressen eintragen, werden die immer erlaubt, völlig unabhängig von ihrem AbuseIPDB Score<br>Geben Sie die IP Adressen kommagetrennt ohne Leerzeichen ein, z.B.: 192.168.1.1,192.168.2.2,192.168.3.3<br>', 43),
('AbuseIPDB - Blacklist', 'ABUSEIPDB_BLOCKED_IPS', 'Wenn Sie hier IP-Adressen eintragen, werden die immer geblockt, völlig unabhängig von ihrem AbuseIPDB Score<br>Geben Sie die IP Adressen kommagetrennt ohne Leerzeichen ein, z.B.: 192.168.1.1,192.168.2.2,192.168.3.3<br>', 43),
('AbuseIPDB - Logging für API Anfragen aktivieren', 'ABUSEIPDB_ENABLE_LOGGING_API', 'Sollen die API Anfragen in einem Logfile protokolliert werden?<br>', 43),
('AbuseIPDB - IP Adressen regelmäßig löschen?', 'ABUSEIPDB_CLEANUP_ENABLED', 'Sollen die IP Adressen regelmäßig aus der Datenbanktabelle abuseipdb_maintenance gelöscht werden?<br>', 43),
('AbuseIPDB - Intervall für Löschung', 'ABUSEIPDB_CLEANUP_PERIOD', 'Geben Sie hier das Ablaufdatum in Tagen ein (Voreinstellung: 30).<br>Nach diesem Zeitraum werden die IP Adressen aus der Tabelle abuseipdb_maintenace entfernt, falls Sie das oben aktiviert haben.<br>', 43),
('AbuseIPDB - IP Adressen regelmäßig löschen?', 'ABUSEIPDB_CLEANUP_ENABLED', 'Sollen die IP Adressen regelmäßig aus der Datenbanktabelle abuseipdb_cache gelöscht werden?<br>', 43),
('AbuseIPDB - Intervall für Löschung', 'ABUSEIPDB_CLEANUP_PERIOD', 'Geben Sie hier das Ablaufdatum in Tagen ein (Voreinstellung: 30).<br>Nach diesem Zeitraum werden die IP Adressen aus der Tabelle abuseipdb_cache entfernt, falls Sie das oben aktiviert haben.<br>', 43),
('AbuseIPDB - Spider erlauben', 'ABUSEIPDB_SPIDER_ALLOW', 'Sollen bekannte Spider von den AbuseIPDB Prüfungen ausgenommen sein?<br>Empfohlene Einstellung: true<br>Sie erreichen sonst sehr schnell Ihr API Limit bei AbuseIPDB!<br>', 43),
('AbuseIPDB - Spider loggen', 'ABUSEIPDB_SPIDER_ALLOW_LOG', 'Sollen bekannte Spider, die keine API Anfrage auslösen, in einem Logfile protokolliert werden?<br>', 43),
('AbuseIPDB - Debugging aktivieren', 'ABUSEIPDB_DEBUG', 'Wenn Sie hier das Debugging aktivieren, wird jede Aktion des Moduls in einem Logfile protokolliert.<br>Nur zur Fehlersuche sinnvoll!<br>', 43)");
Expand Down
Expand Up @@ -5,7 +5,7 @@
* Copyright 2023 marcopolo
* see https://github.com/CcMarc/AbuseIPDB
* License: GNU General Public License (GPL)
* version $Id: class.abuseipdb_observer.php 2024-04-01 14:03:16Z webchills $
* version $Id: class.abuseipdb_observer.php 2024-04-01 21:21:16Z webchills $
*/

class abuseipdb_observer extends base {
Expand All @@ -29,14 +29,15 @@ protected function runCleanup() {
$abuseipdb_enabled = ABUSEIPDB_ENABLED;

if ($cleanup_enabled == 'true' && $abuseipdb_enabled == 'true') {
$maintenance_query = "SELECT * FROM " . TABLE_ABUSEIPDB_MAINTENANCE;
$maintenance_query = "SELECT last_cleanup, timestamp FROM " . TABLE_ABUSEIPDB_MAINTENANCE;
$maintenance_info = $db->Execute($maintenance_query);

if (date('Y-m-d H:i:s') != date('Y-m-d H:i:s', (int)$zcDate->output(($maintenance_info->fields['last_cleanup'])))) {
if ($maintenance_info->RecordCount() > 0) {
if (date('Y-m-d') != date('Y-m-d', (int)$zcDate->output(($maintenance_info->fields['last_cleanup'])))) {
// Cleanup old records
$cleanup_query = "DELETE FROM " . TABLE_ABUSEIPDB_CACHE . " WHERE timestamp < DATE_SUB(NOW(), INTERVAL " . (int)$cleanup_period . " DAY)";
$db->Execute($cleanup_query);

}
}
// Update or insert the maintenance timestamp
if ($maintenance_info->RecordCount() > 0) {
$update_query = "UPDATE " . TABLE_ABUSEIPDB_MAINTENANCE . " SET last_cleanup = NOW(), timestamp = NOW()";
Expand All @@ -46,7 +47,8 @@ protected function runCleanup() {
$db->Execute($insert_query);
}
}
}


}

protected function checkAbusiveIP() {
Expand Down Expand Up @@ -177,7 +179,7 @@ protected function checkAbusiveIP() {
$ip_info = $db->Execute($ip_query);

// If the IP is in the database and the cache has not expired
if (!$ip_info->EOF && (time() - (int)$zcDate->output(($ip_info->fields['timestamp'])) < $cache_time)) {
if (!$ip_info->EOF && (time() - strtotime($ip_info->fields['timestamp'])) < $cache_time) {
$abuseScore = $ip_info->fields['score'];

if ($debug_mode == true) {
Expand Down

0 comments on commit 47df569

Please sign in to comment.