Обнаружение злоупотреблений для пост-рейтинговой системы

Я использую плагин 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 и т. Д., Но после проверки логов я обнаружил, что эта история получает столько же трафика, сколько и обычная история ~2k-3k.

  • Я проверил, все ли голоса за эту перпендикулярную историю происходят с одного и того же IP-адреса. Я мог видеть это, если бы пользователь был в школьной компьютерной лаборатории, используя все свои лабораторные компьютеры, чтобы проголосовать за эту историю. Не один дубликат IP-адреса в журнале для этой истории.

    ВЫБРАТЬ ip, COUNT(*) как считать от wp_gdsr_votes_log ГДЕ id=3932 ГРУППА BY (ip) СОРТИРОВАТЬ ПО count DESC

  • Затем я подумал, что использование может использовать прокси для голосования в истории. Я проверил это, сгруппировав все браузеры user_agent вместе, чтобы увидеть, нет ли одного браузера, голосующего перпендикулярно. Максимум 7 пользователей, которые использовали подобный браузер, но голосовали время от времени (1-5), никаких доказательств неправильного поведения.

    ВЫБРАТЬ user_agent, COUNT(*) как считать от wp_gdsr_votes_log ГДЕ id=3932 ГРУППА BY (user_agent) СОРТИРОВАТЬ ПО count DESC

  • Я также проверяю, все ли голоса пришли одновременно. Может быть, у кого-то есть действительно интересный бот, который может изменить user_adgent и использовать прокси-серверы, т. Д.... Максимум 5 голосов пришло за 2 минуты друг от друга. Кажется, что нет никакой закономерности в том, как люди голосуют (т.е. 5 голосов не приходят раз в минуту)

    ВЫБРАТЬ ИЗ wp_gdsr_votes_log ГДЕ id =3932 И голосование =5 ЗАКАЗАТЬ wp_gdsr_votes_log,voted DESC

Очевидное решение этой проблемы - заставить людей войти в систему, прежде чем они смогут голосовать. Но я бы предпочел не идти по этому пути, если это не является абсолютно необходимым.

Я ищу предложения для вещей, чтобы проверить, чтобы обнаружить злоупотребление.

редактировать

Другая вещь, которую я только что проверил, состояла в том, чтобы видеть, были ли все люди, которые голосовали по этой истории о perdicutre, впервые голосующими на сайте по 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/ (ритм-гитарист) разместил ссылку на статью в своем твиттере и на сайте группы. Я просто удивлен, что не было большого увеличения посетителей, только люди, голосующие за историю..

3 ответа

Решение

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

Одна вещь, которую вы можете проверить, это процент голосов по сравнению с трафиком по сравнению с другими историями, которые похожи на трафик.

Я читаю это. Хороший рассказ. Я также проголосовал.;)

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

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

Проверьте журналы своего веб-сервера на наличие реферера, чтобы увидеть, как они находят статью.

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

Если в вашей рейтинговой системе есть изъян, скорее всего, она находится в самой форме. Простой F5/ обновление может получить несколько голосов, если проверка не выполняется. Должен быть хотя бы сеанс или идентификатор пользователя, а также уникальный токен, который вы можете проверить, чтобы избежать эксплойтов F5.

Другие вопросы по тегам