У меня есть структура MVC с классом Request, который обрабатывает все запросы. Я регистрирую каждый запрос, поступающий в базу данных, и столбцы таблицы журнала запросов выглядят следующим образом:
- ID (автоинкремент)
- Контроллер
- Действие
- Параметры (GET, POST, PUT, DELETE)
- Параметры (параметры MVC разделены косой чертой "/")
- Метод запроса (GET, POST, PUT, DELETE)
- Тип запроса (HTML, JSON, XML)
- Запрос Ajax (true/false)
- URL-адрес реферера
- URI запроса
- Браузер (Браузер агента пользователя)
- Версия браузера
- IP
- Платформа
- Время запроса (дата-время)
Теперь, если подумать, если у меня есть 100+ пользователей в сети, каждый из которых делает около 500+ запросов в день, я получаю 100*500 = 50 000. strong> строк в день, а в год выходит около 18 миллионов.
Теперь, через 1-2 года, если я не буду очищать журнал, пользователи будут медленнее вставлять свои запросы в таблицу?
Плохо ли регистрировать каждый запрос?
Причина: причина, по которой я хочу регистрировать каждый запрос, заключается в обнаружении вида DDOS-атаки, чтобы, если будет более 10 запросов за 30 секунд, заблокировать учетную запись для 20 минут.