Как лучше всего заблокировать несколько счетчиков на счетчике?

У меня есть настоящий дрянной счетчик, просто добавляю один в поле счетчика, когда на него попадает посещение. Это не считая посещений страниц, но это все еще дрянь.

Что мне нужно сделать, так это помешать кому-то просто нажимать кнопку «Обновить» снова и снова. Что проще всего было сделать? Печенье?

Я бы предпочел не регистрировать IP-адрес каждого посетителя и т. Д. Что-то простое - в С# asp.net mvc.


person Chaddeus    schedule 17.10.2010    source источник


Ответы (3)


Да, файлы cookie были бы простым способом добиться этого. Еще проще было бы просто установить значение в сеансе — если оно установлено, это посещение было зарегистрировано, поэтому мы не должны снова увеличивать счетчик.

Таким образом, вы также будете учитывать «посещение» за сеанс, что чаще всего является лучшим показателем для уникальных посещений.

Псевдокод для реализации:

if (Session["HasCountedThisVisitor"] == null) 
{
    counter++; 
    Session["HasCountedThisVisitor"] = true;
}
person driis    schedule 17.10.2010
comment
ах, хороший звонок. Они должны полностью убить свою сессию между «посещениями». Может быть, комбинация этого и файлов cookie. Спасибо! - person Chaddeus; 17.10.2010
comment
@Chad, помните, что сеанс реализован с помощью файлов cookie. Таким образом, вы, скорее всего, захотите использовать только cookie или сеанс. Используйте файлы cookie, если вы хотите подсчитывать уникальных посетителей (не учитывайте последующие посещения того же браузера на том же компьютере), используйте сеанс, если вы хотите подсчитывать уникальные посещения (как в, если посетитель вернется завтра, он снова засчитывается) - person driis; 17.10.2010
comment
О да... извините, было около 2 часов ночи, когда я задал этот вопрос. Спасибо за ответ! - person Chaddeus; 18.10.2010

Cookie или переменная сеанса, которую вы проверяете, была ли она установлена, прежде чем увеличивать счетчик.

person Gabriele Petrioli    schedule 17.10.2010
comment
Спасибо, кажется, это общая рекомендация. - person Chaddeus; 17.10.2010

Почему?

Существует множество бесплатных инструментов для ведения журналов, некоторые из них анализируют ваши журналы IIS, некоторые дают вам javascript для размещения на ваших страницах. Google Analytics — это прекрасно и бесплатно.

Вы изобретаете колесо здесь.

person John Farrell    schedule 17.10.2010
comment
нет, я не регистрирую хиты/посещения/просмотры страниц... Я использую для этого Google Analytics. Мой счетчик считает объект в моей БД. Спасибо хоть. - person Chaddeus; 17.10.2010