В моем веб-приложении есть класс User
, представляющий пользователя, вошедшего в систему.
Каждый раз, когда пользователь просматривает страницу, экземпляр User
заполняется на основе данных аутентификации, предоставленных в файлах cookie.
Экземпляр User
создается, даже если в систему входит анонимный пользователь, и соответствующая новая запись создается в таблице User
в базе данных.
Этот подход позволяет мне сохранять некоторую информацию о состоянии для текущего пользователя независимо от его типа.
Однако проблема с этим подходом заключается в том, что бот Google и другие нечеловеческие веб-организмы сканируют мои страницы. Каждый раз, когда бот начинает ходить по сайту, в базе данных будут создаваться тысячи бесполезных записей, каждая из которых будет использоваться только для одной страницы.
Вопрос: что является лучшим компромиссом? Как поддержать анонимных пользователей, сохранить их состояние и не получить слишком много накладных расходов из-за ботов без файлов cookie?