Подтвердить что ты не робот

Охотничьи мошенники в голосовании

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

Что мы делаем до сих пор:

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

Кто-нибудь знает, как мы могли бы найти шаблоны в нашей базе данных с помощью PHP script или как мы могли бы блокировать их более эффективно?

Любая помощь будет очень оценена...

4b9b3361

Ответ 1

Исправление обратной связи

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

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

  • Pro: хорошо против всех методов
  • Con: если мошенничество массовое, процентное отображение и задержка не будут эффективными.

Пометка о голосовании

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

  • Pro: хорошо против всех обнаруженных спам-атак
  • Con: перекликается с голосованием, сложнее настроить, ложные срабатывания

Защитный код

Используйте CAPTCHA. Если ваш Captcha сломан, используйте лучшую.

  • Pro: хорошо для всех автоматизированных скриптов.
  • Con: бесполезно против pharygulation

Проверка IP

Ограничьте количество голосов, которое IP-адрес может использовать в течение периода времени.

  • Pro: Хорошо против случайных парней, которые постоянно попадают в F5 в своем браузере.
  • Pro: легко реализовать
  • Con: бесполезно против фарингуляции и разрабатывать скрипты, которые используют прокси-серверы.
  • Con: IP-адрес иногда отображается для разных пользователей.

Проверка реферера

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

  • Pro: легко реализовать
  • Pro: Хорошая против простой фарингуляции до некоторой степени
  • Con: очень легко обойти автоматизированные сценарии

Подтверждение электронной почты

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

Обратите внимание, что вы можете добавить +foo к своему имени пользователя по адресу электронной почты. [email protected] и [email protected] будут отправлять почту в ту же учетную запись, поэтому помните, что при проверке того, кто уже голосовал.

  • Pro: хорошо против простых спам-скриптов
  • Con: сложнее реализовать
  • Con: Некоторым пользователям это не понравится

рандомизация HTML-формы

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

  • Pro: приятно иметь anyways
  • Con: однажды обнаружено, очень легко обойти

HTTPS

Одним из способов подделки голосования является захват HTTP-запроса из действующего браузера, такого как Firefox, и имитация его с помощью script, это не так просто, когда вы используете шифрование.

  • Pro: приятно иметь в любом случае
  • Pro: хорошо против очень простых скриптов
  • Con: сложнее настроить

Проверка прокси-сервера

Если спамер проголосовал через прокси, вы можете проверить заголовок X-Forwarded-For.

  • Pro: хорошо подходит к более продвинутым скриптам, использующим прокси-серверы
  • Con: некоторые легитимные пользователи могут быть затронуты

Проверка кеша

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

Примером может быть вложение <img src="a.gif" /> в ваш html, причем a.gif - это изображение размером 1x1 пиксель. Затем вы должны установить http-заголовок для запроса GET /a.gif с помощью Cache-Control "no-cache, must-revalidate". Вы можете установить заголовки http в Apache с вашим .htaccess файлом, таким как this. (спасибо Джако)

  • Pro: необычный метод, насколько мне известно.
  • Con: немного сложнее настроить

[Редактировать 2010-09-22]

Evercookie

  • Так называемый evercookie может быть полезен для отслеживания спамеров в браузере.

Ответ 2

Вы пытались сделать отпечаток пальца браузера? Проверьте этот открытый источник с EFF: https://panopticlick.eff.org/ Может использоваться для идентификации одного человека, подобного 500-1500 в мире (!).

Ответ 3

Вы можете добавить captcha к форме голосования. Также требуется подтверждение электронной почты

Ответ 4

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

Также зависит от того, могут ли несколько людей, стоящих за NAT, голосовать за один и тот же вариант (например, в любимой школе).

Любая созданная вами схема может быть пропущена.

EDIT: как и все остальные, вы можете использовать CAPTCHA, например reCAPTCHA, чтобы заблокировать автоматические боты и сделать людей менее склонными к повторному голосованию. За счет того, что люди менее склонны голосовать вообще.

Ответ 5

Голосовать за продвижение (вы можете знать об этом) имеет раздел о том, как смягчить игру - но это сложный, чтобы вообще избежать. Учитывая ваши действия на сегодняшний день, я бы подумал о том, чтобы использовать взвешивание, например, рассмотреть разумный уровень голосования за определенный период времени, например, 10 голосов за час (просто пример не руководство), а для прибавочных голосов вес следующие 10 на 90% (т.е. только счет 9), следующие 10 на 80% и т.д. Это Yahoo советы по игре в этом шаблоне:

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

  • злоба - возможно, против другого члена сообщества, и что членские взносы.

  • прибыль - реализовать некоторую награду, денежную или иную, от влияющих на размещение определенных элементы в пуле)

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

Существует несколько способов для защиты от такого типа злоупотребление. Хотя ничто не может остановить игры в целом. Вот несколько способов свести к минимуму или помешать нарушителям в их усилия:

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

    • Учитывайте ограничение ставок голосов. o Разрешать пользователю определенное количество голосов в течение заданного временной период. o Ограничьте количество раз (или скорость, с которой) голосует пользователь вниз по определенному пользовательскому контенту. (Для предотвращать атаки ad-hominem.)

    • Взвешивание других факторов помимо количества голосов. Digg, для пример, не вычисляет их Digg-score зависит только от количества голосует подача заявки. Их алгоритм также учитывает: "история источник (это репортаж блога, или оригинальная история), история пользователей, трафик Уровни категории история падает под и отчеты пользователей." Они обновляют этот алгоритм часто. Рассматривать сохранение точного алгоритма в тайне от сообщества, или только обсуждать факторизованные входы в общих терминах.

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

Пока это популярный шаблона в Интернете, важно рассмотрим контексты, в которых мы используем Это. Очень активный и популярный сообщества (Digg отлично пример), которые позволяют голосовать за сообщества может также породить определенную негативность духа (средние комментарии, упрямые клики, групповые атаки на "outlier" точки зрения).

Ответ 7

Чтобы предотвратить голосование ботов, вы можете использовать CAPTCHA.

Ответ 8

Единственное, что приходит на ум, - это Captcha. Либо сложный с фотографиями и шумом, как ReCaptcha, либо очень простой и ненавязчивый, как "Что семь плюс три? или (если вы находитесь в США)," Что такое фамилия нашего президента", простые вопросы здравого смысла, на которые каждый может ответить. Если вы меняете их достаточно часто, это может быть даже более эффективным, чем классический CAPTCHA на основе изображений.

Ответ 9

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

Вам необходимо использовать их в сочетании с другими описанными здесь способами.

Ответ 10

Вы можете добавить поле honeypot, как в Django. Скорее всего, это не защитит вас от мошенников, которые намеренно хотят изменить свое соревнование, но, по крайней мере, у вас будут меньше спамателей "проводов", чтобы дополнительно позаботиться.

Ответ 11

Извините за двойной пост, но мне не разрешили отправлять два URL-адреса в том же сообщении...

Если вы ищете собственное отслеживание, возможно, эта ссылка может дать некоторое вдохновение: https://panopticlick.eff.org/ Оказывается, что многие браузеры могут быть однозначно идентифицированы даже без какой-либо формы файлов отслеживания. Я предполагаю, что босс-голосование может дать очень специфический отпечаток?

Ответ 12

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

Плохо:
1) Сначала он не может быть защищен на 100%
2), чтобы охватить массу пользователей, которые отфильтровывают все бессмысленные рейтинги, очень тяжело 3) Забудьте о звездных рейтингах в этом случае... их всегда либо 5 звезд, либо 1 звезда

Хороший
1) Не давайте им ориентацию о том, где они стоят... Мы заменили представление "Порядок по месту" случайным представлением ТОП-100 (только топ-30 wll выиграли цену)... Это действительно помогло, потому что много пользователи потеряли интерес, как только они не увидели, где они стояли.

2) Не разрешайте голосование вроде: 1x5_Stars 40x1_Star... Просто разрешите пользователям, которые голосуют честно...

3) Большинство из них действуют немного глупо... Вы увидите их в своих журналах и сможете проследить, кто голосует честно и кто несправедлив... Ищите шаблоны...

** УДАЧА;-) **

Ответ 13

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

reCAPTCHA является довольно используемым сервисом

Ответ 14

Как только разрешить пользователям, которые вошли в систему с openid и reCaptcha, прежде чем отправлять голосование, и сообщать список участников с тем же ip адрес.

Ответ 15

Мы используем комбинацию CAPTCHA и электронной почты. Пользователь получает ссылку с GUID по почте. Это должно быть уникальным для каждого пользователя, который пытается проголосовать. www.votesite.com/vote.aspx?guid =..... Используя эту ссылку, голосование подтверждается или нет. В базе данных мы проверяем комбинацию адреса электронной почты и идентификатора GUID, чтобы быть уникальным.

Ответ 16

Я использую комбинацию CAPTCHA, проверки IP и LSO (Flash Local Shared Objects, трудно найти и удалить для обычных людей).

Ответ 17

1.Use recaptcha
2. Дайте случайные варианты голосования, но не так:
     → from vote_id_1 - asdsasd_1, grdsgsdg_2,
        Вместо этого используйте переменные сеанса для установки маски с vote_id_1 на asgjdas87th2ad в форме голосования.

Ответ 18

Как насчет некоторого постходового стохастического анализа, например анализ временных рядов - поиск периодичности в событиях конкретного (ip, browser, vote)? Затем вы можете назначить вероятность каждой такой группе событий, что она принадлежит 1 человеку, и либо отбросить все такие группы событий за пределами некоторого уровня вероятности, либо использовать какой-то весовой коэффициент для снижения веса в зависимости от вероятности.

Посмотрите на R, он содержит много полезных пакетов анализа.

Ответ 19

Проверьте информацию о домене электронной почты, которую они используют. У меня была та же проблема, и я обнаружил, что все они зарегистрированы в том же регистранте. Я написал это здесь: http://tincan.co.uk/659/news/competition-spammers.html

Теперь я фильтрую информацию DNS для электронной почты, используемой при регистрации.