Как эффективно отслеживать просмотры страниц на веб-сайте PHP с высоким трафиком, не используя IP-адреса и не позволяя пPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как эффективно отслеживать просмотры страниц на веб-сайте PHP с высоким трафиком, не используя IP-адреса и не позволяя п

Сообщение Anonymous »

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

Код: Выделить всё

CREATE TABLE resource_views (
view_id INT AUTO_INCREMENT PRIMARY KEY,
ip_address CHAR(64) NOT NULL,
user_id VARCHAR(10),
resource_id VARCHAR(5) NOT NULL,
update_id VARCHAR(5) NOT NULL,
first_viewed_at DATETIME NOT NULL,
last_viewed_at DATETIME NOT NULL
);
Как это работает:
  • Для вошедших в систему пользователей я сохраняю как user_id, так и ip_address.
  • Для анонимных пользователей я сохраняю только ip_address.
  • Я пытаюсь предотвратить несколько просмотров от одного и того же пользователя или IP-адреса,
    обновляя last_viewed_at вместо создания новую строку, если пользователь или
    IP уже просматривал одно и то же обновление ресурса.
  • Я также добавил механизм обновления last_viewed_at только в том случае, если последний
    просмотр был более 30 минут назад, чтобы предотвратить спам при обновлении страницы. .
Проблема:
  • Использование IP-адресов: Хранение IP-адресов не является хорошей идеей из-за
    проблемы конфиденциальности (например, GDPR). Мне нужен альтернативный метод отслеживания
    пользователей без нарушения конфиденциальности.
  • Управление сеансами: пользователи могут обойти отслеживание, удалив файлы cookie
    или используя режиме инкогнито, что затрудняет сохранение точных данных о
    посещениях.
Вопросы:
  • Что является хорошей альтернативой использованию IP адреса для отслеживания просмотров,
    особенно для анонимных пользователей?
    Я думал об использовании идентификаторов сеансов
    или уникального идентификатора пользователя, хранящегося в файле cookie, но не знаю, как
    для обработки пользователями очистки файлов cookie или выхода из системы.
  • Как я могу запретить пользователям обходить систему путем многократного
    обновления страницы или использования нескольких сеансов, чтобы избежать записи
    несколько просмотров?
    Есть ли лучший способ справиться с этим, возможно, используя сочетание
    постоянных файлов cookie и управления сеансами на стороне сервера?
  • Является ли мой нынешний подход хранения представлений в одной таблице с уникальная строка для каждого пользователя и обновления ресурса, что эффективно для
    систем с высоким трафиком?
    Стоит ли мне рассмотреть возможность использования Redis или другого механизма кэширования
    для обработки нагрузки?
  • Как управлять просмотрами ресурсов с течением времени? чтобы обеспечить точное
    и масштабируемое отслеживание без перегрузки базы данных?
    Должен ли я
    агрегировать данные (например, ежедневные просмотры) или использовать какие-либо другие стратегии оптимизации
    ?
Будем признательны за любые предложения и улучшения! Моя главная цель — отслеживать просмотры страниц и обеспечивать эффективность и точность системы по мере роста трафика.

Подробнее здесь: https://stackoverflow.com/questions/793 ... hout-using
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»