Зарегистрируйте учетные данные пользователя (если он должен их предоставить) или его IP-адрес, запрос (необязательно) и отметку времени в базе данных.
Теперь для каждого запроса вы удаляете записи, где отметка времени больше часа назад, проверяете, сколько запросов для этого пользователя все еще находится в таблице, и, если это больше, чем ваш лимит, отклоните запрос.
Простое решение, имейте в виду, однако, там могут быть более эффективные решения.
Довольно прямо. Если это не отвечает на ваш вопрос, пожалуйста, предоставьте более подробную информацию.
Я не вижу, как это связано с codeigniter, например.