Кажись дорос до борьбы с кликерами...

Oracool

Guest
Кажись дорос до борьбы с кликерами...

Привет всем!

Подскажите уважаемые профи как бороться с накликиванием, средствами РНР? Причем меня интересует не столько тонкости написания кода, сколько сам алгоритм работы. Что нужно проверять при входе юзера, что нужно запоминать? Что лучше использовать в качестве проверки? IP, cookie, время или что-то другое или в какой комбинации чего с чем? Задача стоит сложная (по крайней мере передо мной) поэтому не хотелось бы идти по заранее ложному пути. Применять все это планирую на ТОП-е и рейтинге\голосовании странички с анекдотами.

Пробовал искать через поиск, но либо попадаю на обсуждение всяких тонкостей, либо не на то что надо.

Хотелось бы простого ответа\рекомендации ориентированного на новичка в РНР.

Всем спасиб!
 

SiMM

Новичок
Простой ответ - однозначно идентифицировать пользователя невозможно в принципе. Отсюда и все остальные потуги - сравнивать IP (следует помнить, что на одном IP может сидеть масса пользователей, как и наоборот - один и тот же пользователь может получать разные IP динамически, например, такое случается у диалаперов), заголовки от клиента, наличие и значение поставленной уникальной куки.
Бороться же с реальными кликерами довольно проблематично - хотя бы потому, что существует довольно немало прокси-серверов, в том числе и анонимных.
 

Oracool

Guest
развивая тему...

хорошо...
значит получается вариант пара "кука-IP". Тогда логика получается такая, если я правильно понимаю:

(+) - засчитываем
(-) - не засчитываем

1. Если посетитель имеет мою куку, но иной IP то (+)
2. Если куки нету а IP такой же, то (-)
3. Если ни того ни другого или и то и другое то понятно.

Куку так понимаю, в моем случае нужно ставить на 1 сутки?

И посоветуйте пожалуйста где все эти данные удобнее хранить? В БД или файлах?
 

SiMM

Новичок
Re: развивая тему...

Автор оригинала: Oracool
значит получается вариант пара "кука-IP". Тогда логика получается такая, если я правильно понимаю:

(+) - засчитываем
(-) - не засчитываем

1. Если посетитель имеет мою куку, но иной IP то (+)
2. Если куки нету а IP такой же, то (-)
3. Если ни того ни другого или и то и другое то понятно.
1. Не засчитываем. Если это так - значит посетитель, уже получивший от тебя куку, получил другой IP-адрес. Естесственно, скорее всего, это тот же самый посетитель, поскольку иначе получить твою уникальную куку он не мог (ну разве что украл её специально - но кому оно нужно? ;) ).
2. Если куки нету, а IP такой же, и остальные значения пользовательских хидеров (можно приплести данные, получаемые по [m]getallheaders[/m], или данные, приходящие от пользователя и находящиеся в $_SERVER) такие же, посетителя не засчитываем, иначе запоминаем и засчитываем, ставим уникальную куку, значение которой так же храним в базе.
Куку так понимаю, в моем случае нужно ставить на 1 сутки?
Понятия не имею о "твоём" случае. Понятие топ/рейтинг/голосование мне ни о чём не говорит.
И посоветуйте пожалуйста где все эти данные удобнее хранить? В БД или файлах?
А ты попробуй ;) Представь хотя бы примерно, как ты будешь делать обработку данных - сразу всё встанет на свои места и ты поймёшь, что проще - ворочать с целью поиска данных файлами или получить их SQL-запросом.
 
Сверху