Вот пытаюсь понять такую весчь.
Функция бана. При бане в БД добавляется IP адрес, настоящее время и время в которое снимется бан.
А теперь вопрос. Как оно снимется? Ведь сервер не может постоянно отслеживать время и не сможет сам удалить поле из таблицы.
Надо вмешательство человека. Как быть? И как делают обычно?
Приходит очередной http-запрос.
сервер выдает запрос DELETE FROM bans WHERE `expired` < NOW();
перед запросом SELECT COUNT(*) FROM bans WHERE `ip` = $ip;