Как определить что пользователь смотрел страницу в течении последних 10 минут?
Здравствуйте, я делаю статистику просмотров страниц (просто в лоб +1 при показе, если пользователь не смотрел эту страницу последние 10 минут) - подробная статистика мне не нужна, тк для этого есть метрика и тп, нужен простой счетчик.
Не знаю как выкрутиться и реализовать это, только 2 идеи.
1 способ:
1. Записать в куки при просмотре id страницы и время куки - 10 минут.
2. При +1 к счетчику проверять существует ли кука с id страницы
Но этот метод легко вскрыть и накрутить статистику.
2 способ:
Я сохраняю инфу о каждом +1 не только в таблицу статьи, но и в отдельную таблицу statistics ( туда записываю ip, id страницы, время просмотра) - мне это нужно для инфографики, просто сколько за день смотрят и тп..
при +1 к счетчику смотреть, нет ли записи за последние 10 минут о просмотре данной страницы с данного ip, если нет +1
Но этот способ дорого мне обойдется как кажется, потому что на 1 показ страницы +3 запроса (+1 в таблицу к статье, проверка, создание новой записи о просмотре)
Подскажите пожалуйста, какие есть варианты и как можно подойти к решению?
Как насчёт сессий? Писать в сессию время открытия страницы и адрес страницы, а при переходах сравнивать с реферером адрес предыдущей страницы, считывать время, сравнивать. В итоге получаем: будем знать на какой странице сколько времени провели, некоторую защиту от накрутки.