Учет уникальных посещений, антинакрутка, счетчик

AR
На сайте с 19.05.2010
Offline
91
1359

Всем привет. Стоит задача в написании скрипта по учету уникальных посещений. Перед тем как считать, нужно пройти ряд проверок. Первым этапом по проверке у меня стоят куки. Посетитель без кук мне ненужен, да и % таких очень невелик. Для меня известно 4 метода по определению кук (включены или выключены) - два серверных (php), один клиент-серверный (php+javascript) и один клиент-серверный (php+jquery).

Важным моментом для меня является моментальное определение включенные у посетителя куки или нет, без всяких переадресаций!!!

Метод 1. Серверный php скрипт с использованием переадресаций.

<?php

// это небольшой проверочный скрипт, выясняющий,
// включены ли cookies у пользователя

if(empty($_GET["cookie"]))
{
// посылаем заголовок переадресации на страницу,
// с которой будет предпринята попытка установить cookie
header("Location: $_SERVER[PHP_SELF]?cookie=1");
// устанавливаем cookie с именем "test"
setcookie("test","1");
}
else
{
if(empty($_COOKIE["test"]))
{
echo("Для корректной работы приложения необходимо включить cookies");
}
else
{
// cookie включены, переходим на нужную страницу:
header("Location: http://localhost/");
// здесь посылается заголовок, содержащий адрес нужной страницы
}
}
?>

Метод эффективен, но не особо гуманный как для человека так и по моему мнению для поисковика.

Если смотреть со стороны человека это лишняя переадресация, хоть довольно незаметная, но возможно ощутимая по времени загрузки страницы.

Если смотреть со стороны поисковика, то думаю ему может не понравится что его переадресовывают куда-то, а потом обратно. Есть опасность получить санкцию (мое мнение).

Вердикт - не подходит.

Метод 2. Серверный php скрипт с использованием переадресаций, но в iframe.

Аналогичный метод, но с использованием iframe. В данном методе меня грызут сомнения насчет необходимости дополнительной перезагрузки основного окна, ведь действия происходили в iframe, когда уже главная страничка загрузилась.

Если смотреть со стороны человека, то он не заметит никаких переадресаций, но вопрос будет в следующем - получит ли он ответ сразу после загрузки основного окна?.

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

Вердикт - не подходит.

Метод 3. Клиент-серверный с использованием php+javascript.

Суть метода такова:

1 - внедрил в javascript запись куки

2 - в php сделал вывод этой куки

По результатам опыта можно сказать, что он эффективен только после второй перезагрузки странички.

Вердикт - не подходит.

Метод 4. Клиент-серверный с использованием php+jquery.

Метод еще не проверил, но в надежде на его успех (в процессе разработки).

Суть его такова:

1 - создаем ф-цию которая запишет куку и пошлет запрос php скрипту на определение этой куки по принципу метода 1

2 - если результат удовлетворительный мы приступаем ко второму этапу

3 - если результат не удовлетворительный, то само собой второй этап не наступит и счетчик не зачислит посещение

4 - если в браузере у пользователя отключен javascript, то ситуация аналогична пункту 3

Второй этап необходим, т.к. 100% надежности на проверку кук и отфутболивание пользователей с выключенными куками надеяться не стоит. Куки можно удалять и заново заходить на страничку, тем самым накручивая статистику. Так вот для данного этапа я считаю нужно записывать всевозможные данные передаваемые браузером, вопрос только какие? ИХ по идее много, но нужно ли все?

Собственно все, надеюсь не утомил рассказом и прилагающимися вопросами. Очень нужно начать писать счетчик для статистики. Спасибо за внимание.

Alex_r добавил 30.09.2011 в 11:46

58 просмотров и ни одного ответа :(

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий