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',