Как я могу заблокировать оскорбительного человека, который бесконечно пытается зарегистрировать больше аккаунтов?


41

У меня есть бесплатный сайт с открытой регистрацией; любой может зарегистрироваться, а я не могу это изменить. Тем не менее, учетные записи должны быть утверждены администратором после заполнения профиля, поэтому у меня есть доступ к различной информации для выявления дублирующих пользователей (дата рождения, комментарий для самостоятельного введения, адрес электронной почты, фотографии, местоположение в профиле, геолокация IP-адреса) , IP-адрес и т. Д.)

Недавно сайт подвергся атакам одного пользователя, который крайне оскорбительный и, кажется, имеет неограниченное время для регистрации нескольких учетных записей. Эти учетные записи могут быть относительно легко заблокированы, но для администратора (я) это большая работа, и я боюсь, что пропущу одну из законных учетных записей (этот пользователь регистрирует около 6 учетных записей в день).

Я уже:

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

Могу ли я что-нибудь сделать с cookie-файлами и т. Д., Чтобы этому пользователю было еще труднее зарегистрироваться?

Это сайт Drupal 7.

РЕДАКТИРОВАТЬ: В моем случае это пользователь, а не бот. Но ответы ботов полезны для тех, на кого конкретно нацелены спамеры.


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


7
На самом деле первые два решения, которые вы использовали, - довольно плохие идеи. IP-адреса очень неадекватны для уникальной идентификации даже всей сети, не говоря уже о конкретном компьютере и не говоря уже о конкретном пользователе! Нередки случаи, когда пользователь совместно использует устройство со многими другими пользователями, где это устройство находится в сети, где многие другие устройства совместно используют один IP-адрес, который регулярно перераспределяется поставщиком услуг, различным клиентам. Запрет целых наборов доменных имен электронной почты еще хуже. Вы рискуете заблокировать законного пользователя.
Дж.Бентли

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

Ответы:


51

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

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

  1. Я посыпал if ($someuser) { sleep(rand($base, $base*2)) }код, где $baseбы ежедневно увеличивался. Я убедился, что у него было много тайм-аутов.
  2. Я бы отбросил N% его постов, где N начиналось выше 50% и только увеличивалось оттуда. Если в сообщении есть определенные ключевые слова, оно будет немедленно удалено.
  3. Я бы случайно отбросил правила CSS, чтобы страница отображалась плохо. Опять же, серьезность будет увеличиваться со временем.

Это потребовало больше усилий с моей стороны, но согласно совету Сунь Цзы я заставлял пользователя ненавидеть мой сайт . Я хотел, чтобы он почувствовал не то, что он раздражает нас, а скорее, что он должен быть раздражен задержками и очевидными ошибками. Ему потребовалось меньше недели, чтобы отказаться от нас.

РЕДАКТИРОВАТЬ : В комментариях пользователь rooby упоминает модуль Misery, который основан на той же концепции:

  1. Задержка : создать задержку произвольной длины, создавая видимость медленного соединения. (по умолчанию это происходит в 40% случаев)
  2. Белый экран : предоставьте пользователю белый экран. (по умолчанию это происходит в 10% случаев)
  3. Неправильная страница: перенаправить на случайный URL-адрес в заранее определенном списке. (по умолчанию это происходит в 0% случаев)
  4. Случайный узел : Перенаправить на случайный узел, доступный пользователю. (по умолчанию это происходит в 10% случаев)
  5. 403 Отказано в доступе : предоставить пользователю сообщение об ошибке «Отказано в доступе». (по умолчанию это происходит в 10% случаев)
  6. 404 Not Found : предоставить пользователю сообщение об ошибке «Not Found». (по умолчанию это происходит в 10% случаев)
  7. Формы не отправляются : перенаправьте обратно на форму во время проверки, чтобы предотвратить отправку. (по умолчанию это происходит в 60% случаев) Примечание. Иногда определенные формы проверяются в зависимости от того, какая кнопка была нажата, в этих случаях это не будет работать.
  8. Сбой IE6 : если пользователь использует Internet Explorer 6, это приведет к сбою его браузера. (по умолчанию это происходит в 0% случаев)
  9. Спам : заменить содержимое узла заданным словом. (по умолчанию это происходит в 10% случаев)
  10. Выход из системы : выйдите из системы. (по умолчанию это происходит в 10% случаев)

8
Я думаю, что это прекрасно в теории, но мысль о жестком кодировании $someuserкаждый раз, когда они создают новую учетную запись, заставляет меня съеживаться. Тем не менее, отличная идея. Может быть, просто добавив поле в таблице счетов, как trollстолбец. Если это 1, изменения вступают в силу. Затем добавьте простой интерфейс для пометки кого-то как тролля. По крайней мере, в этом случае это немного проще, чем жестко задавать имя пользователя / идентификатор пользователя / адрес электронной почты / и т. Д. каждый раз, когда они регистрируются под новой учетной записью. Хотя это наверняка не голосование.
Nate я

5
@NateI вы можете сделать его многоразовым. if (hellbannedUsers.contains($someuser))это на шаг лучше. Мне просто не нравится, как много логики в домашних условиях это, во-первых, но, по крайней мере, ее можно использовать повторно.
Джечлин

3
@djechlin Конечно, это можно сделать многоразовым, поэтому мой собственный комментарий о том, чтобы сделать шаг вперед с таблицей в БД.
Nate I

3
Вы можете быть заинтересованы в модуле страданий, чтобы сэкономить немного кода.
Роби

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

30

Электронная почта ISP обидчика - Они будут положить конец его!

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

Вы можете найти интернет-провайдера, выполнив поиск IP-адреса либо напрямую с ARIN по адресу https://whois.arin.net/ui, либо с помощью другой службы, которая просто использует их для whois. У большинства пользователей реальный провайдер подходит к владельцу IP, но некоторые (как правило, крупные корпорации) сами владеют IP. В любом случае, вы узнаете, кто является владельцем IP, и оттуда вы можете найти их и получить адрес электронной почты для злоупотребления (иногда они помещают фактический адрес электронной почты для злоупотребления в информацию WHOIS, что здорово) для отправки. Ваш адрес электронной почты Будьте добры и вежливы с провайдером. Не пишите эпический роман - будьте проще. Что-то вроде: «Этот ip преследует меня и пользователей моего сайта, пожалуйста, смотрите журналы» будет достаточно. Они видят тысячи таких в день, они не хотят читать историю рыданий.

Раньше я был сетевым инженером в ISP. Мы получили бесчисленные отчеты о преследованиях за такое поведение. В тот момент, когда абонент получает телефонный звонок, он останавливается примерно в 90% случаев. Если это продолжится, могут последовать судебные иски, что означает, что большинство провайдеров предпринимают очень серьезные действия.

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

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

Примечание

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

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

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


2
Это единственное актуальное решение . Все остальное, что было предложено, похоже, обходные пути, а не решения.
CVn

Tor также может быть проблемой в этом отношении, но если у вас действительно возникают проблемы, всегда есть возможность заблокировать трафик, исходящий только от выходных узлов Tor . (Это последнее сводит побочный ущерб к минимуму.)
CVn

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

Я никогда не получал фактический ответ. Единственное, что я когда-либо видел в этом, это то, что человек просто останавливает то, что он делает. Человек все еще преследует вас и пользователей вашего сайта?
Nate I

17

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

Но ... если это не так, я бы порекомендовал:

рекапчи

Использует веб-сервис Google reCAPTCHA для улучшения системы CAPTCHA и защиты адресов электронной почты.

введите описание изображения здесь


9

Hellban / shadowban

Поскольку заблокировать создание новых учетных записей для замены заблокированных практически невозможно, довольно популярным решением этой проблемы является так называемый адский ад ( http://www.urbandictionary.com/define.php?term=hellban ) или shadowban. где вы реализуете функцию, которая изолирует определенные учетные записи от всех остальных, не делая очевидным, что они были забанены.

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


Как реализовать это в Drupal 7?
reinierpost

1
@reinierpost - Пещера является одним из вариантов реализации этого
BryanH

7

По предложению No Sssweat я помещаю это как ответ, а не комментарий, чтобы больше людей видели это.

Drupal.org/project/misery неплохо справляется с тем, что раздражает пользователя примерно восемью различными методами. Случайные тайм-ауты, выходы из системы, случайные перенаправления и т. Д., И частота может быть изменена.

Простая версия хорошего dotancohen написать до проблемы.


6

Как насчет использования второго фактора? При регистрации, скажем, вы отправите SMS на их телефон или электронную почту и попросите их подтвердить свою регистрацию, щелкнув ссылку и отправив информацию обратно. Вам будет сложнее подделать идентификатор, чем IP-адрес, и может быть легче отфильтровать его таким образом. Очевидно, потребуется небольшое количество сценариев ...


5

Это на самом деле невозможно.

Вы не можете остановить человека от регистрации снова и снова. Единственным , что вы можете сделать , это затвердеть процесс регистрации и двойной / тройной проверку их удостоверение личность (через адрес электронной почты и учетную запись Google и facebook счета и LinkedIn счета и номер телефона, и так далее) и соотнести каждый человек с определенным ID этим агрегатным все эти детали.

Конкретный человек может либо выбрать другую сеть через веб-прокси, создать множество @email, открыть несколько учетных записей facebook / google / LinkedIn и т. Д., Но вы никогда не сможете остановить этого человека для повторной регистрации (если вы не проверите его ДНК).

Ваш единственный выбор - ужесточить процесс регистрации.


2
Как я уже сказал, потребуйте, чтобы ваши будущие новые пользователи связали свою учетную запись с уникальной учетной записью Facebook, уникальной учетной записью Google, а также уникальной учетной записью LinkedIn и уникальным номером телефона, на который вы отправляете SMS. Вы в очень хорошей позиции! Без действительно дорогих средств вы не можете гарантировать, что пользователь зарегистрируется только один раз. Более того, единственное средство, которое вы можете использовать, будет раздражать ваших будущих пользователей (кто готов связать учетную запись ggl / SO / fb / LinkedIn / GH + отправить их ID по почте, просто для создания новой учетной записи?)
Auzias

11
Это быстрый способ сократить количество настоящих пользователей.
Tom.Bowen89

3
Вы утверждаете, что это невозможно в худшем случае, например, если передовое разведывательное агентство с миллиардами долларов хочет вас достать. Есть очень хороший шанс, что ОП имеет дело с каким-то тупым 11-летним ребенком. Таким образом, ваш ответ немного непрактичен и вводит в заблуждение ИМО.
Джечлин

2
Ваш ответ противоречит самому себе. В нем говорится, что вы не можете, тогда единственный способ, которым вы можете, - это ужесточить процесс регистрации, что на самом деле не обязательно решит проблему, а также не является единственным потенциальным решением.
Роби

1
Я знаю;) или нет Google, ни LinkedIn
Auzias

4

Как предложено No Sssweat, вы можете использовать reCAPTCHA. Но если вы не хотите раздражать законных пользователей, вы можете попробовать модуль Honeypot . Это дает возможность иметь дополнительное поле, которое не должно быть заполнено (боты AFAIK могут заполнять все поля) или имеют ограничение по времени.

Документация читается как,

Honeypot использует методы honeypot и timestamp для предотвращения спам-ботов от заполнения форм на вашем сайте в Drupal (подробнее здесь). Эти методы эффективны против многих спам-ботов и не так навязчивы, как CAPTCHA или другие методы, которые наказывают пользователя [YouTube].

Другим вариантом является модуль Spambot , он предотвращает спам, проверяя попытки регистрации против Stop Forum Spam.

Spambot защищает форму регистрации пользователя от спамеров и спам-ботов, проверяя попытки регистрации в онлайн-базе данных Stop Forum Spam (www.stopforumspam.com). Он также добавляет некоторые полезные функции, помогающие бороться со спам-аккаунтами.


3
Это работает для спам-ботов, а не для людей.
user253751

3

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

Отправьте письмо о прекращении и воздержании лицу, которое проникло на ваш сайт и нарушило Раздел XVIII Кодекса США «Подделка компьютеров», «Мошенничество и злоупотребления».

Если они не прекратятся, пони деньги и подай в суд. В середине 1990-х у меня был первый случай в WDMO, когда 3 подростка взломали единственного интернет-провайдера в Канзас-Сити. Я связался с семьями (они внедрили один из серверов и были достаточно глупы, чтобы хранить свое приложение, чтобы присоединиться к группам «Warez» с их настоящими именами и адресами в скрытом подкаталоге) и попросили их не давать мальчикам-подросткам делать это. Они отказались.

В 54-страничной жалобе мне пришлось объяснить: интернет-провайдерам, интернету, превышению доступа и т. Д. Недавно назначенному судье.

Я был больше, чем адвокатом, мой аккаунт был доступен (слава богу, не аккаунт клиента - The Rust List), и я был отмечен галочкой. Я обвинил родителей (единственный способ пойти туда, где обвиняемые были несовершеннолетними в гражданском иске) и заявил, что родители передали опасный инструмент в руки несовершеннолетних без надлежащего надзора и что несовершеннолетние занимались передачей украденного программного обеспечения, и детское порно (Да, 16-летние мальчики фотографировать их 16-летний о.ф. является «детским порно»). Я нарушил политику домовладельца, и у меня было средство правовой защиты, которое в те дни суды даже не рассматривали: пожизненный запрет на использование компьютеров для подростков.

Это было решено в течение недели после передачи открытия.

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

Подумайте, как может сработать судебное постановление, запрещающее доступ к вашему сайту придурку: S / He забанен - ​​вы находите IP-адрес его / ее нарушения постановления суда - отправляете его своему адвокату и он / она подает ходатайство в суд, показывая Нарушение Приказа и Суд ответят Приказом о Показании Причины, почему ответчик не должен быть обвинен в неуважении к суду.

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

В конечном счете, придурок, возможно, ограничился навсегда заблокированным от Интернета. Если вы по-настоящему разозлились после всего этого и хотите быть уверены, что обвиняемый не в Интернете, нанять ИП, чтобы следить за ответчиком в течение недели или десяти дней (недешево), и если он / она имеет доступ к Интернету от Starbucks - или McD, у вас есть они: обратно к судье.

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

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

Вот как покончить с этим ядерным вариантом.


@ Pierre.Vriens Это интересная информация в любом случае, и пока я нахожусь в Токио, моя компания находится в США, как и злоупотребляющий пользователь.
Патрик Кенни

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

2

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


1
Отчаянные времена требуют отчаянных мер, это было бы так неприятно. Я мог бы добавить перенаправить его в Рик Ролл, смеется.
Нет Sssweat

1
Это выдало бы, что он заблокирован
Анхель

2

Я написал модуль специально для таких ситуаций. Он называется «Пробелы принудительно» и может быть найден здесь ; он работает, блокируя любого зарегистрированного человека, чье имя не содержит хотя бы 1 пробел. Это может быть дополнительно настроено, и вы можете выбрать, какой персонаж должен появляться, сколько раз. Он также имеет коэффициент преемственности около 100%

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.