Я использую плагин wordpress под названием «GD Star Rating», чтобы мои пользователи могли голосовать за истории, которые я публикую на одном из моих сайтов. http://everydayfiction.com/ В последнее время мы много злоупотребляем системой. Истории, за которые явно проголосовали искусственно. «GD Star Rating» создает несколько подробных журналов, когда пользователь голосует за историю. В том числе; IP, время голосования и user_adgent, т. Д ..
Например, эта история имеет 181 голос при среднем 5,7 http://www.everydayfiction.com/snowman-by-shaun-simon/ Большинство других историй получают только около 40 голосов в день.
Сначала я подумал, что история попала на сайт социальных закладок Digg, Stumbleupon и т. Д., Но после проверки журналов я обнаружил, что эта история получает столько же трафика, сколько и обычная история ~ 2к-ки.
Я проверил, все ли голоса за эту перпендикулярную историю получены с одного и того же IP-адреса. Я мог видеть это, если бы пользователь был в школьной компьютерной лаборатории, используя все свои лабораторные компьютеры, чтобы проголосовать за эту историю. Не один дубликат IP-адреса в журнале для этой истории.
ВЫБРАТЬ ip
, СЧЕТ (*) как количество ОТ wp_gdsr_votes_log
ГДЕ id
= 3932 ГРУППА ПО (ip
) ЗАКАЗАТЬ ПО count
DESC
Далее я подумал, что использование может использовать прокси для голосования по истории. Я проверил это, сгруппировав все браузеры user_agent вместе, чтобы увидеть, нет ли одного браузера, голосующего перпендикулярно. Не более 7 пользователей, которые использовали подобный браузер, но голосовали время от времени (1-5), никаких доказательств неправильного поведения.
ВЫБРАТЬ user_agent
, СЧЕТ (*) как количество ОТ wp_gdsr_votes_log
ГДЕ id
= 3932 ГРУППА ПО (user_agent
) ЗАКАЗАТЬ ПО count
DESC
Я также проверяю, все ли голоса пришли одновременно. Может быть, у кого-то есть действительно интересный бот, который может изменить user_adgent и использовать прокси-серверы, т. Д. Максимум 5 голосов пришло за 2 минуты друг от друга. Кажется, что нет никакой закономерности в том, как люди голосуют (т.е. 5 голосов не приходят раз в минуту)
ВЫБРАТЬ * ОТ wp_gdsr_votes_log
ГДЕ id
= 3932 И голосовать = 5 ЗАКАЗАТЬ wp_gdsr_votes_log
. voted
DESC
Очевидное решение этой проблемы - заставить людей войти в систему, прежде чем им разрешат голосовать. Но я бы предпочел не идти по этому пути, если это не является абсолютно необходимым.
Я ищу предложения по проверке на предмет выявления злоупотреблений.
Редактировать
Другая вещь, которую я только что протестировал, состояла в том, чтобы увидеть, все ли люди, которые голосовали за эту историю о пердиктуре, были впервые проголосовавшими на сайте по IP-адресу. Похоже, что около 80 человек по IP-адресу проголосовали в первую очередь за эту историю, и никакой другой истории. Я сравниваю это с другими историями и обнаружил, что в большинстве случаев 80% людей, которые голосуют, также голосуют в нескольких разных историях. Я думаю, это доказывает, что здесь происходит что-то подозрительное, но я не уверен, как они это сделали или как я мог отфильтровать искусственные голоса.
SELECT id, `ip`, COUNT(*) as count FROM `wp_gdsr_votes_log` GROUP BY (`ip` ) ORDER BY `count` ASC
Редактировать 2
Ого, похоже, один из участников группы из http://www.mychemicalromance.com/ (ритм-гитарист) разместил ссылку на статью в своем твиттере и на сайте группы. Я просто удивлен, что не было большого увеличения посетителей, только люди, голосующие за историю ..