Поиск мошенников на голосующей конкуренции

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

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

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

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

Любая справка очень ценилась бы...

63
задан Otto Allmendinger 25 February 2010 в 10:22
поделиться

17 ответов

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

0
ответ дан 24 November 2019 в 16:24
поделиться

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

0
ответ дан 24 November 2019 в 16:24
поделиться

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

0
ответ дан 24 November 2019 в 16:24
поделиться

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

0
ответ дан 24 November 2019 в 16:24
поделиться

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

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

.
1
ответ дан 24 November 2019 в 16:24
поделиться

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

reCAPTCHA - это справедливо используемый сервис

0
ответ дан 24 November 2019 в 16:24
поделиться

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

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

1
ответ дан 24 November 2019 в 16:24
поделиться

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

1
ответ дан 24 November 2019 в 16:24
поделиться

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

1
ответ дан 24 November 2019 в 16:24
поделиться

Проверьте Asirra: http://research.microsoft.com/en-us/um/redmond/projects/asirra/ Он все еще находится в стадии бета-тестирования, но это довольно круто.

2
ответ дан 24 November 2019 в 16:24
поделиться

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

4
ответ дан 24 November 2019 в 16:24
поделиться

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

1
ответ дан 24 November 2019 в 16:24
поделиться

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

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

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

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

  • или общей повестки дня - всегда продвижение определенных точек зрения или {{ 1}} политические заявления, без особого внимания к фактическому качеству содержания, за которое проводится голосование.

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

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

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

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

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

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

2
ответ дан 24 November 2019 в 16:24
поделиться

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

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

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

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

2
ответ дан 24 November 2019 в 16:24
поделиться

Прямое устранение обратной связи

Это скорее общая стратегия, которую можно сочетать со многими другими методами. Не сообщайте спамеру о его успехе.

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

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

Отметка голосов

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

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

Captcha

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

  • За: хороша против всех автоматизированных скриптов.
  • Против: бесполезно против фаригуляции

Проверка IP

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

  • За: Хорошо против случайных чуваков, которые постоянно нажимают F5 в своем браузере
  • За: Легко реализовать
  • Против: Бесполезно против Pharyngulation и сложных скриптов, использующих прокси-серверы.
  • Против: IP-адрес иногда используется для многих разных пользователей

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

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

  • Pro: Легко реализовать
  • За: В определенной степени противостоит простой фарингуляции
  • Против: Очень легко обходится автоматизированными скриптами

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

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

Обратите внимание, что вы можете добавить +foo к вашему имени пользователя в адресе электронной почты. username@example.com и username+foo@example.com доставят письмо на один и тот же аккаунт, так что помните об этом, проверяя, не проголосовал ли уже кто-то.

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

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

Рандомизация порядка выбора. Это может занять некоторое время.

  • За: хорошо иметь в любом случае
  • Против: после обнаружения очень легко обойти

HTTPS

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

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

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

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

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

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

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

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

  • За: насколько я знаю, это нестандартный метод
  • Против: немного сложнее настроить

[Edit 2010-09-22]

Evercookie

  • Так называемый evercookie может быть полезен для отслеживания браузерных спамеров
79
ответ дан 24 November 2019 в 16:24
поделиться

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

6
ответ дан 24 November 2019 в 16:24
поделиться

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

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

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

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

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

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

1
ответ дан 24 November 2019 в 16:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: