Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2011, 15:12   #1
Garacio_cain
Пользователь
 
Аватар для Garacio_cain
 
Регистрация: 05.01.2008
Сообщений: 85
По умолчанию антинакрутка рейтинга на сайте

Дано: имеется сайт. На сайте зарегистрированные пользователи имеют право писать посты и голосовать за посты других пользователей. Время от времени тот или иной юзер увидев что его кумир упал в рейтинге начинает активно голосовать из-за чего теряется баланс в рейтинге.

Где то с месяц назад зарекся написать систему антинакрутки рейтинга, которая в реально времени следила бы за действиями пользователя и убивала ненужное голосование. Проблема в том что я понятия не имею за что зацепиться в данном непростом деле. Толи за временной интервал между двумя нажатиями кнопки голосования, толи писать отдельную таблицу с мониторингом.

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

p.s пользователю. разрешается голосовать за пост только 1 раз. Автору поста за свои же посты голосовать запрещается. На сайте ведется мониторинг постоянный и твинки, если таковые появляются, незамедлительно блокируются. К счастью живут не долго и появляются очень редко. Всем откликнувшимся спасибо за помощь!
Garacio_cain вне форума Ответить с цитированием
Старый 24.11.2011, 16:11   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Garacio_cain Посмотреть сообщение
На сайте зарегистрированные пользователи имеют право писать посты и голосовать за посты других пользователей.
пользователю разрешается голосовать за пост только 1 раз. Автору поста за свои же посты голосовать запрещается.
Вам нужно просто фиксировать связку user_id и post_id при учете голосов.

А при выводе поста - проверяем, если этот пользователь уже голосовал за данный пост (т.е. в таблице есть связка user_id & post_id) - то ему вообще не даём возможности голосовать за этот пост, просто показываем текущий рейтинг поста - и всё.

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

Ну и для верности - при записи голосов в таблицу опять-таки проверяем наличие связки user_id & post_id.
Andkorol вне форума Ответить с цитированием
Старый 24.11.2011, 22:07   #3
Garacio_cain
Пользователь
 
Аватар для Garacio_cain
 
Регистрация: 05.01.2008
Сообщений: 85
По умолчанию

Это все уже давным давно сделано. Все проверки на авторство и авторизацию и прочее сделаны и работают на ура. Смысл был в том чтобы не дать пользователю открыв посты определенного пользователя голосовать за них подряд. Т.е. отследить и понять читает голосующий посты или просто ставит плюсы. была идея проверять по времени два последних голосования а так же проверять существуют ли в базе между двумя постами пользователя, за которые проголосовали, посты других пользователей. Но потом эта идея показалась бредовой ведь разгадав эту фишку можно проголосовать за 5 постов пользователя, поставить кому то + и дальше как ни в чем не бывало накручивать рейтинг.
Garacio_cain вне форума Ответить с цитированием
Старый 24.11.2011, 22:21   #4
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Цитата:
Сообщение от Garacio_cain Посмотреть сообщение
Это все уже давным давно сделано. Все проверки на авторство и авторизацию и прочее сделаны и работают на ура. Смысл был в том чтобы не дать пользователю открыв посты определенного пользователя голосовать за них подряд. Т.е. отследить и понять читает голосующий посты или просто ставит плюсы. была идея проверять по времени два последних голосования а так же проверять существуют ли в базе между двумя постами пользователя, за которые проголосовали, посты других пользователей. Но потом эта идея показалась бредовой ведь разгадав эту фишку можно проголосовать за 5 постов пользователя, поставить кому то + и дальше как ни в чем не бывало накручивать рейтинг.
Ну пример, репутация на этом форуме. Нельзя поставить два подряд плюса одному и тому же человеку. Только после определённого количества поставленных +, можно поставить опять этому человеку. В день можно поставить только определённое количество плюсов. Количество сообщений (кол-во репутации), прежде чем пользователь сможет ставить плюсы.
dr.Chas вне форума Ответить с цитированием
Старый 25.11.2011, 00:06   #5
Garacio_cain
Пользователь
 
Аватар для Garacio_cain
 
Регистрация: 05.01.2008
Сообщений: 85
По умолчанию

Цитата:
Сообщение от dr.Chas Посмотреть сообщение
Ну пример, репутация на этом форуме. Нельзя поставить два подряд плюса одному и тому же человеку. Только после определённого количества поставленных +, можно поставить опять этому человеку. В день можно поставить только определённое количество плюсов. Количество сообщений (кол-во репутации), прежде чем пользователь сможет ставить плюсы.
была у нас такая идея и даже были задумки привязать лимит голосов к рейтингу пользователя но потом подумали что тогда вообще никто голосовать не будет и отказались от этой затеи.

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

в общем если придумаю логику то поделюсь с вами. пока что это на грани фантастики.
Garacio_cain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Антинакрутка баннерной рекламы, склик zcub Безопасность, Шифрование 3 26.08.2011 10:31
вычисление рейтинга пользователей форума GoodDA Софт 4 25.08.2010 11:34
Паскаль. Расчет рейтинга Regina Помощь студентам 3 29.11.2009 06:58
Расчёт рейтинга ELO sasha14486 PHP 0 14.05.2009 00:19
Повышение рейтинга пользователя? spamer О форуме и сайтах клуба 5 13.03.2009 20:35