From 92df42999e27f4ff94b7698793070ed34dfca07c Mon Sep 17 00:00:00 2001 From: andryyy Date: Thu, 11 Jun 2020 12:10:52 +0200 Subject: [PATCH] [Web] Delete log lines containing ratelimit hash key when removing rate limit hashes from db --- data/web/inc/functions.ratelimit.inc.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/data/web/inc/functions.ratelimit.inc.php b/data/web/inc/functions.ratelimit.inc.php index 57a78e5f..dba88e3c 100644 --- a/data/web/inc/functions.ratelimit.inc.php +++ b/data/web/inc/functions.ratelimit.inc.php @@ -203,7 +203,15 @@ function ratelimit($_action, $_scope, $_data = null) { return false; } try { - if ($redis->exists($data['hash'])) { + $data_rllog = $redis->lRange('RL_LOG', 0, -1); + if ($data_rllog) { + foreach ($data_rllog as $json_line) { + if (preg_match('/' . $data['hash'] . '/i', $json_line)) { + $redis->lRem('RL_LOG', $json_line, 0); + } + } + } + if ($redis->type($data['hash']) == Redis::REDIS_HASH) { $redis->delete($data['hash']); $_SESSION['return'][] = array( 'type' => 'success',