Количество уникальных просмотров страницы

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Количество уникальных просмотров страницы

Сообщение Artikk »

Здравствуйте, как реализовать количество уникальных просмотров страницы?
допустим есть таблица news. я добавил туда поле views.
я конечно могу сделать чтобы при каждой загрузке считалось, но это не уникальные будут. Кто может помочь? и есть ли готовые расширения какие-то?
Так я получаю одну новость:

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

$news = News::findOne($id);
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Количество уникальных просмотров страницы

Сообщение futbolim »

Как правильно тут сильно не заморачиваются и считают уникального посетителя по ip. Я бы ещё добавил id браузера.
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: Количество уникальных просмотров страницы

Сообщение Artikk »

чет я не представляю вообще как id браузера и ip. ip это же новую таблицу нужно создавать, связывать их, правильно?
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Количество уникальных просмотров страницы

Сообщение vitalik1183 »

с ip тут наверно не прокатит. Есть офис из 50 человек, сидят за натом. зашли 5 человек, пощитало как 1. Не совсем верная статса.
Yii2!
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: Количество уникальных просмотров страницы

Сообщение Artikk »

vitalik1183 писал(а): 2017.09.01, 09:19 с ip тут наверно не прокатит. Есть офис из 50 человек, сидят за натом. зашли 5 человек, пощитало как 1. Не совсем верная статса.
не, тут ничего страшного. есть предложения в плане реализации?
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Количество уникальных просмотров страницы

Сообщение vitalik1183 »

если нужно не тупо в лоб(чтоб при каждом обновлении +1) то нужно как то идентифицировать пользователя и сравнивать
Yii2!
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: Количество уникальных просмотров страницы

Сообщение Artikk »

еще вопрос, если я буду записывать в бд, это со временем будет огромная таблица и сайт будет дольше грузиться, так?
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Количество уникальных просмотров страницы

Сообщение vitalik1183 »

ну можете подчищать, например удалить всех, кто посещал страницу более 6 месяцев назад.
Yii2!
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Количество уникальных просмотров страницы

Сообщение trueorfalse »

По поводу NAT, если зайдет сразу 50 человек то подсчитает за 50.

У них будет что то так
ip 120.22.22.1
ip 120.22.22.12
ip 120.22.22.32
ip 120.22.22.55
...

Проверяй только по ip.

Как я вижу алгоритм.
1 - Зашел в новость.
2 - Программа смотрит мой ip и сверяет в бд с всеми ip которые зашли в новость.
3 - Если моего ip нет в списке то +1 и в бд ip.
4 - Если нашла, нечего не делаем.

Да чем больше будет просмотров тем дольше будет искать.
Я думаю это не будет занимать много времени.
Последний раз редактировалось trueorfalse 2017.09.01, 10:47, всего редактировалось 1 раз.
Аватара пользователя
NeverDie
Сообщения: 70
Зарегистрирован: 2012.05.13, 04:05
Откуда: Минск
Контактная информация:

Re: Количество уникальных просмотров страницы

Сообщение NeverDie »

Вопрос в том, кого считать под "уникальным посетителем". Как правило это вход по уникальному ip. Если же хотите расширить, можно добавить, ОС с которой зашел, user agent и тд. Все что можно придумать. Так же можно отслеживать по графику посещений, например уникальность только сегодня. Завтра его ip опять запишется в базу.
Проверка пользователя должна идти при каждом входе на страницу.
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Количество уникальных просмотров страницы

Сообщение vitalik1183 »

По поводу NAT, если зайдет сразу 50 человек то подсчитает за 50.
Локальные адреса остаются в пределах локальной сети. А по теме:
https://webhamster.ru/mytetrashare/index/mtb0/28
Yii2!
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: Количество уникальных просмотров страницы

Сообщение Artikk »

спасибо большое
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Количество уникальных просмотров страницы

Сообщение Dominus »

Еще до кучи можно в Cookies писать, что пользователь просмотрел страницу.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Количество уникальных просмотров страницы

Сообщение trueorfalse »

vitalik1183 писал(а): 2017.09.01, 10:54
По поводу NAT, если зайдет сразу 50 человек то подсчитает за 50.
Локальные адреса остаются в пределах локальной сети. А по теме:
https://webhamster.ru/mytetrashare/index/mtb0/28
А при выходе в сеть ?
Как он будет подключаться на сайт локально ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Количество уникальных просмотров страницы

Сообщение zelenin »

trueorfalse писал(а): 2017.09.01, 15:52
vitalik1183 писал(а): 2017.09.01, 10:54
По поводу NAT, если зайдет сразу 50 человек то подсчитает за 50.
Локальные адреса остаются в пределах локальной сети. А по теме:
https://webhamster.ru/mytetrashare/index/mtb0/28
А при выходе в сеть ?
Как он будет подключаться на сайт локально ?
что такое NAT знаем? вся сетка выходит через один шлюз, имеющий один ip.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Количество уникальных просмотров страницы

Сообщение zelenin »

на клиенте можно юзать fingerprint https://github.com/Valve/fingerprintjs2 - это даст точность, близкую к 100%.
если нет, то fingerprint на базе REMOTE_ADDR, X_FORWARDED_FOR итд. Точность ниже конечно.
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Количество уникальных просмотров страницы

Сообщение trueorfalse »

zelenin писал(а): 2017.09.01, 16:17
trueorfalse писал(а): 2017.09.01, 15:52
vitalik1183 писал(а): 2017.09.01, 10:54
Локальные адреса остаются в пределах локальной сети. А по теме:
https://webhamster.ru/mytetrashare/index/mtb0/28
А при выходе в сеть ?
Как он будет подключаться на сайт локально ?
что такое NAT знаем? вся сетка выходит через один шлюз, имеющий один ip.
И php будет считать все это за один ip ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Количество уникальных просмотров страницы

Сообщение zelenin »

trueorfalse писал(а): 2017.09.01, 16:37
zelenin писал(а): 2017.09.01, 16:17
trueorfalse писал(а): 2017.09.01, 15:52

А при выходе в сеть ?
Как он будет подключаться на сайт локально ?
что такое NAT знаем? вся сетка выходит через один шлюз, имеющий один ip.
И php будет считать все это за один ip ?
один шлюз, имеющий один ip
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Количество уникальных просмотров страницы

Сообщение trueorfalse »

zelenin писал(а): 2017.09.01, 20:22
trueorfalse писал(а): 2017.09.01, 16:37
zelenin писал(а): 2017.09.01, 16:17
что такое NAT знаем? вся сетка выходит через один шлюз, имеющий один ip.
И php будет считать все это за один ip ?
один шлюз, имеющий один ip
С этим согласен, NAT был придуман для этого.

Ответь лучше.
И php будет считать все это за один ip ?
Ответить