Jak mogę zablokować osobę znęcającą się, która bez końca próbuje zarejestrować więcej kont?

41

Mam darmową stronę z otwartą rejestracją; każdy może się zarejestrować i nie jestem w stanie tego zmienić. Jednak konta muszą zostać zatwierdzone przez administratora po wypełnieniu profilu, więc mam dostęp do różnych informacji umożliwiających identyfikację zduplikowanych użytkowników (data urodzenia, komentarz do „własnego wprowadzenia”, adres e-mail, zdjęcia, zgłoszona lokalizacja w profilu, geolokalizacja adresu IP , Adres IP itp.)

Niedawno witryna została zaatakowana przez jednego użytkownika, który jest wyjątkowo obelżywy i wydaje się mieć nieograniczony czas na zarejestrowanie wielu kont. Konta te można stosunkowo łatwo zablokować, ale to dużo pracy dla administratora (mnie) i obawiam się, że pominę jedno z legalnych kont (ten użytkownik rejestruje około 6 kont dziennie).

Mam już:

  • zablokował znane adresy IP użytkownika
  • zablokowana rejestracja ze znanych domen, które są używane dla „jednorazowych” adresów e-mail
  • dodano specjalny widok, który pomaga mi identyfikować konta w oparciu o znane wzorce dostępu od użytkownika

Czy mogę coś zrobić z plikami cookie itp., Aby utrudnić rejestracji tego użytkownika?

To jest strona Drupal 7.

EDYCJA: W moim przypadku jest to użytkownik, a nie bot. Ale odpowiedzi botów są przydatne dla tych, którzy są specjalnie atakowani przez spamerów.

Patrick Kenny
źródło
Jedyne, co mogę wymyślić, to te irytujące captchy, które są naprawdę trudne do odczytania, ponieważ niektóre litery / cyfry uważasz, że mogą to być dwie rzeczy, i musisz spróbować około 5 razy, aby odgadnąć to poprawnie. Z drugiej strony, będziesz drażnić wszystkich innych, lol.
Bez Sssweat
13
drupal.org/project/misery, jeśli wszystko inne zawiedzie.
Niall Murphy
7
Właściwie pierwsze dwa zastosowane przez ciebie rozwiązania to całkiem złe pomysły. Adresy IP są bardzo nieodpowiednie do jednoznacznego identyfikowania nawet całej sieci, nie wspominając o konkretnym komputerze i nie wspominając o konkretnym użytkowniku! Często zdarza się, że użytkownik współużytkuje urządzenie z wieloma innymi użytkownikami, przy czym urządzenie to znajduje się w sieci z wieloma innymi urządzeniami, które współużytkują jeden adres IP, regularnie przydzielany przez usługodawcę, różnym klientom. Banowanie całych zestawów nazw domen e-mail jest jeszcze gorsze. Ryzykujesz zablokowaniem uprawnionego użytkownika.
JBentley,
3
Wypróbowując porady zawarte w odpowiedziach, sugeruję, aby nigdy nie uprzyjemniać życia dobrym użytkownikom ze względu na karanie złych użytkowników. Jeśli to zrobisz, źli użytkownicy wygrywają i ryzykujesz utratą dobrych użytkowników.
rooby

Odpowiedzi:

51

Zamiast próbować uniemożliwić użytkownikowi rejestrację, która jest grą zarówno dla trolli, jak i hakerów, sprawi, że strona będzie dla niego denerwująca. Spraw, by chciał odejść , a nie zmusić go do wygrania trollingu .

To, co zrobiłem w przeszłości, a nie specyficzne dla Drupala, to pozwolić użytkownikowi zarejestrować się. Następnie sabotowałem jego konkretne konto:

  1. Posypałem if ($someuser) { sleep(rand($base, $base*2)) }kod, gdzie $basebędzie rosnąć codziennie. Upewniłem się, że miał dużo przerw.
  2. Zrzuciłbym N% jego postów, gdzie N zaczynał powyżej 50% i tylko się zwiększał. Jeśli post zawiera określone słowa kluczowe, zostanie natychmiast usunięty.
  3. Losowo upuszczam reguły CSS, aby strona była wyświetlana źle. Ponownie dotkliwość wzrośnie z czasem.

Wymagało to więcej wysiłku z mojej strony, ale zgodnie z radą Sun Tzu nakłaniałem użytkownika do nienawiści do mojej witryny . Chciałem, żeby poczuł, że nie denerwuje nas, ale raczej, że powinien być zirytowany opóźnieniami i widocznymi błędami. Poddał się nam w niecały tydzień.

EDYCJA : W komentarzach użytkownik rooby wspomina o module Nędza, który opiera się na tej samej koncepcji:

  1. Opóźnienie : utwórz opóźnienie o losowej długości, nadając wygląd powolnego połączenia. (domyślnie dzieje się tak przez 40% czasu)
  2. Biały ekran : pokaż użytkownikowi biały ekran. (domyślnie dzieje się tak przez 10% czasu)
  3. Nieprawidłowa strona: przekieruj do losowego adresu URL na wstępnie zdefiniowanej liście. (domyślnie dzieje się tak w 0% przypadków)
  4. Losowy węzeł : Przekieruj do losowego węzła dostępnego dla użytkownika. (domyślnie dzieje się tak przez 10% czasu)
  5. 403 Odmowa dostępu : Przedstaw użytkownikowi błąd „Odmowa dostępu”. (domyślnie dzieje się tak przez 10% czasu)
  6. 404 Nie znaleziono : Przedstaw użytkownikowi błąd „Nie znaleziono”. (domyślnie dzieje się tak przez 10% czasu)
  7. Formularze nie przesyłają : przekierowuj z powrotem do formularza podczas sprawdzania poprawności, aby zapobiec przesłaniu. (domyślnie dzieje się tak w 60% przypadków) Uwaga: Czasami niektóre formularze sprawdzają poprawność na podstawie tego, który przycisk został naciśnięty, w takich przypadkach nie zadziała.
  8. Awaria IE6 : jeśli użytkownik korzysta z przeglądarki Internet Explorer 6, spowoduje to awarię przeglądarki. (domyślnie dzieje się tak w 0% przypadków)
  9. Spam : Zamień zawartość węzła na ustawione słowo. (domyślnie dzieje się tak przez 10% czasu)
  10. Wyloguj się : wyloguj użytkownika. (domyślnie dzieje się tak przez 10% czasu)
dotancohen
źródło
8
Myślę, że jest to świetne w teorii, ale myśl o kodowaniu za $someuserkażdym razem, gdy zakładają nowe konto, wywołuje u mnie dreszcze. Mimo to świetny pomysł. Może po prostu dodając pole w tabeli kont, np troll. Kolumnę. Jeśli jest to 1, zmiany mają wpływ. Następnie dodaj prosty interfejs do oznaczania kogoś jako trolla. Przynajmniej w ten sposób jest to trochę łatwiejsze niż kodowanie nazwy użytkownika / identyfikatora użytkownika / e-maila / itp. za każdym razem, gdy rejestrują się na nowym koncie. Na pewno jednak to poprawię.
Nate I
5
@NateI ty możesz zrobić to mimo wielokrotnego użytku. if (hellbannedUsers.contains($someuser))jest o krok lepszy. Po prostu nie podoba mi się, ile to jest logiki domowej roboty, ale można przynajmniej nadać się do ponownego użycia.
djechlin
3
@djechlin Oczywiście można go ponownie wykorzystać, stąd mój komentarz na temat posunięcia się o krok dalej z tabelą w DB.
Nate I
3
Być może zainteresuje Cię moduł nędzy, aby zaoszczędzić trochę kodowania.
rooby
7
Świetna odpowiedź. Wariantem tego jest pozwolenie, aby troll opublikował posty i pokazał posty temu użytkownikowi, ale ukrył je dla wszystkich innych użytkowników.
zelanix
30

Powiadom ISP sprawcy za - Oni będzie położyć kres It!

Masz dziennik czasów utworzenia jego konta i adresy IP użyte do rejestracji, prawda? Masz również dziennik wszystkich jego nękających komentarzy? Wyślij te dzienniki do swojego usługodawcy internetowego .

Możesz znaleźć ISP, wyszukując adres IP bezpośrednio z ARIN na https://whois.arin.net/ui lub inną usługą, która po prostu używa ich dla whois. Większość użytkowników będzie mieć faktycznego dostawcę usług internetowych dla właściciela własności intelektualnej, ale niektóre (zwykle duże korporacje) same będą właścicielami własności intelektualnej. Tak czy inaczej, dowiesz się, kto jest właścicielem adresu IP, a stamtąd możesz je sprawdzić i uzyskać adres e-mail dotyczący nadużyć (czasami umieszczają prawdziwy adres e-mail dotyczący nadużyć w informacjach WHOIS, co jest świetne), aby wysłać twój email do. Bądź uprzejmy i uprzejmy z ISP. Nie pisz epickiej powieści - nie krępuj się. Coś w stylu „To ip nęka mnie i użytkowników mojej witryny, proszę przejrzeć logi”. Widzą ich tysiące dziennie, nie chcą czytać szlochającej historii.

Kiedyś byłem inżynierem sieci u dostawcy usług internetowych. Otrzymaliśmy niezliczone raporty o nękaniu za tego rodzaju zachowania. W momencie, gdy subskrybent odbierze połączenie telefoniczne, zatrzymuje się w około 90% przypadków. Jeśli tak będzie dalej, mogą wystąpić działania prawne, co oznacza, że ​​większość dostawców usług internetowych podejmuje bardzo poważne działania.

Twój agresor jest prawdopodobnie dzieckiem mieszkającym w domu z rodzicami , co oznacza, że ​​gdy konto internetowe jego rodziców zostanie zamknięte, będą bardzo niemiło z jego powodu.

Osobiście wybrałem tę trasę i to działa, nawet jeśli agresora nie ma w twoim kraju. Dostawcy usług internetowych NIE przyjmują uprzejmie użytkowników, którzy nadużywają ich sieci.

Dygresja

Istnieje możliwość, że używa proxy. Jednak jest bardzo mało prawdopodobne, że użył proxy przy pierwszej rejestracji, chyba że w pełni zamierzał (od momentu rejestracji) trollować na twojej stronie internetowej. Jeśli żaden adres IP nie wskazuje na legalnego dostawcę usług internetowych, w którym można faktycznie wysłać wiadomość e-mail o nadużyciu, spróbuj wysłać ją do dowolnej usługi proxy, z której korzysta.

Ludzie mają ten szalony pomysł, że po prostu dlatego, że ktoś używa proxy, są niewykrywalni. To nieprawda. Usługi proxy zwykle podlegają tym samym regułom, co wszyscy inni (oczywiście są wyjątki). Kiedy dostają zgłoszenie o nadużyciu, zajmują się nim tak samo, jak robi to dostawca usług internetowych.

Przy niewiarygodnie małej szansie, że ten użytkownik stoi za serwerem proxy, który nie gra fajnie, postąpiłbym zgodnie z radą innych użytkowników. Poważnie, jednak jest to tak rzadkie, że większość właścicieli witryn nigdy nie zobaczy ataku kogoś, kto na pozór jest „niewykrywalny”.

Nate I.
źródło
2
To jedyne rzeczywiste rozwiązanie . Wszystko, co zostało zaproponowane, wydaje się być obejściem, a nie rozwiązaniem.
CVn
Tor może również stanowić problem w tym względzie, ale jeśli naprawdę masz z tym problem, zawsze istnieje opcja blokowania ruchu pochodzącego tylko z węzłów wyjściowych Tora . (To ostatnie utrzymuje dodatkowe obrażenia na minimalnym poziomie).
CVn
Czy możesz mi powiedzieć, jak długo może to potrwać? Wysłałem informacje 10 dni temu i jeszcze nie otrzymałem żadnej odpowiedzi, nawet potwierdzenia mojego raportu.
Patrick Kenny
Nigdy nie otrzymałem rzeczywistej odpowiedzi. Jedyną rzeczą, jaką widziałem podczas tego działania, jest to, że osoba po prostu przestaje robić to, co robi. Czy osoba nadal nęka Ciebie i użytkowników Twojej witryny?
Nate I
17

W twoim pytaniu nie wspominasz o Captcha. Być może ten wkurzający użytkownik jest botem? Domyślam się, że masz już captcha i że użytkownik jest w rzeczywistości człowiekiem.

Ale ... jeśli tak nie jest, polecam:

reCAPTCHA

Korzysta z usługi Google reCAPTCHA w celu ulepszenia systemu CAPTCHA i ochrony adresów e-mail.

wprowadź opis zdjęcia tutaj

Bez sssweat
źródło
9

Hellban / shadowban

Ponieważ blokowanie osoby przed tworzeniem nowych kont w celu zastąpienia zablokowanych jest prawie niemożliwe, dość popularnym rozwiązaniem tego problemu jest tzw. Hellban ( http://www.urbandictionary.com/define.php?term=hellban ) lub shadowban , w którym wdrażasz funkcję, która izoluje niektóre konta od wszystkich innych bez ujawniania, że ​​zostały zablokowane.

Na przykład upewnij się, że czują, że ich wrażenia są autentyczne i że mogą nadal korzystać z tych samych kont, ale upewnij się, że każdy z ich postów lub działań jest widoczny tylko dla kont piekielnie zbanowanych i kont (lub niezalogowanych - w sytuacjach), które współużytkują adres IP i / lub pliki cookie z kontem hellbanned. Jeśli użytkownik będzie kontynuował trollowanie, ale nie otrzyma odpowiedzi, w końcu odejdzie.

Piotr jest
źródło
Jak wdrożyć to w Drupal 7?
reinierpost
1
@reinierpost - Jaskinia jest jedną z opcji, aby to zaimplementować
BryanH
7

Zgodnie z sugestią No Sssweat, umieszczam to jako odpowiedź zamiast komentarza, aby więcej osób to widziało.

Drupal.org/project/misery całkiem nieźle denerwuje użytkownika za pomocą około ośmiu różnych metod. Losowe przerwy, wylogowania, losowe przekierowania itp., A częstotliwość jest zmienna.

Łatwa wersja miłego zapisu dotancohen na temat problemu.

Niall Murphy
źródło
6

Co powiesz na użycie drugiego czynnika? Podczas rejestracji powiedz, że wyślesz SMS-a na telefon lub e-mail i poprosisz, aby potwierdził rejestrację, klikając link i odsyłać informacje. Zdobędziesz trudniejszy do sfałszowania identyfikator niż adres IP i może być łatwiej go odfiltrować w ten sposób. Oczywiście będzie to wymagało niewielkiej ilości skryptów ...

Czarnoskóry
źródło
5

To jest właściwie niemożliwe.

Nie można powstrzymać osoby przed rejestrowaniem się ponownie. Jedyną rzeczą, jaką możesz zrobić, to twardnieje proces rejestracji i podwójne / potrójne sprawdzanie ich tożsamości (poprzez adres e-mail i konto Google i konto Facebook i LinkedIn konto i numer telefonu, i tak dalej) i koreluje każdą osobę z ID konkretnego tej kruszywo wszystkie te szczegóły.

Określona osoba może albo wybrać inną sieć za pośrednictwem internetowego serwera proxy, utworzyć wiele @email, otworzyć kilka kont na Facebooku / google / LinkedIn i tak dalej, ale nigdy nie będziesz w stanie powstrzymać tej osoby, aby zarejestrować się ponownie (chyba że sprawdzisz jej DNA).

Twoim jedynym wyborem jest zaostrzenie procesu rejestracji.

Auzias
źródło
2
Jak już mówiłem, poproś swoich przyszłych nowych użytkowników o powiązanie ich konta z unikalnym kontem Facebook i unikalnym kontem Google oraz unikalnym kontem LinkedIn i unikalnym numerem telefonu, na który wysyłasz SMS-y. Jesteś w bardzo dobrej pozycji! Bez naprawdę drogich środków nie można zagwarantować, że użytkownik zarejestruje się tylko raz. Co więcej, jedyny sposób, który możesz użyć, zirytowałby twoich przyszłych użytkowników (którzy są gotowi powiązać konto ggl / SO / fb / LinkedIn / GH + wysłać swój identyfikator pocztą, tylko w celu utworzenia nowego konta?)
Auzias
11
Jest to szybki sposób na zmniejszenie liczby prawdziwych użytkowników.
Tom.Bowen89
3
Twierdzisz, że w najgorszym przypadku jest to niemożliwe , tj. Jeśli pojawi się agencja wywiadu zaawansowanego z miliardami dolarów. Istnieje bardzo duża szansa, że ​​OP radzi sobie gdzieś jak bzdurny 11-latek. Twoja odpowiedź jest więc zarówno niepraktyczna, jak i wprowadzająca w błąd IMO.
djechlin
2
Twoja odpowiedź jest sprzeczna. Mówi, że nie możesz, a więc jedynym sposobem na to jest zahartowanie procesu rejestracji, co w rzeczywistości niekoniecznie rozwiązuje problem, a także nie jest jedynym potencjalnym rozwiązaniem.
rooby
1
Wiem;) lub nie mam google ani LinkedIn
Auzias
4

Zgodnie z sugestią No Sssweat, możesz użyć reCAPTCHA. Ale jeśli nie chcesz denerwować legalnych użytkowników, możesz wypróbować moduł Honeypot . Daje to opcję posiadania dodatkowego pola, które nie powinno być wypełnione (boty AFAIK mogą wypełnić wszystkie pola) lub mieć ograniczenia czasowe.

Dokumentacja brzmi:

Honeypot wykorzystuje zarówno metodę honeypot, jak i znacznik czasu, aby zniechęcić roboty spamujące do wypełniania formularzy na stronie Drupal (czytaj więcej tutaj). Te metody są skuteczne w przypadku wielu botów spamowych i nie są tak ingerujące jak CAPTCHA lub inne metody, które karzą użytkownika [YouTube].

Inną opcją jest moduł Spambot , który zapobiega spamowi poprzez weryfikację prób rejestracji w przypadku zatrzymania spamu na forum.

Spambot chroni formularz rejestracyjny użytkownika przed spamerami i robotami spamującymi, weryfikując próby rejestracji w internetowej bazie danych Stop Forum Spam (www.stopforumspam.com). Dodaje także kilka przydatnych funkcji, które pomagają radzić sobie z kontami spamowymi.

Suresh R.
źródło
3
Działa to w przypadku robotów spamujących, a nie ludzi.
user253751
3

Istnieje odpowiedź na pytanie - choć społeczność może uznać tę obraźliwość. Nie wiem dlaczego, oszczędzaj koszty, że ścieżka nie była wybierana częściej.

Wyślij list o zaprzestaniu i zaniechaniu osobie, która wkracza na twoją stronę i narusza tytuł XVIII amerykańskiego kodeksu, manipulowanie komputerami, oszustwa i nadużycia.

Jeśli nie przestaną, przygotuj gotówkę i pozwij. W połowie lat 90. miałem pierwszy przypadek w WDMO, gdzie jedyny ISP dla obszaru Kansas City został zhakowany przez 3 nastolatków. Skontaktowałem się z rodzinami (zrootowały jeden z serwerów i były na tyle głupie, aby przechowywać swoją aplikację, aby dołączyć do grup „Warez” z ich prawdziwymi nazwiskami i adresami w ukrytym podkatalogu) i poprosiłem ich, aby powstrzymały to od dorastania chłopców. Odmówili.

W 54-stronicowej skardze musiałem wyjaśnić: ISP, Internet, przekroczenie dostępu itp. Nowo powołanemu sędziemu.

Byłem więcej niż adwokatem, uzyskano dostęp do mojego konta (dzięki Bogu, a nie konta klienta - The Rust List) i zostałem odznaczony. Oskarżyłem rodziców (jedyny sposób, by oskarżeni byli nieletni w postępowaniu cywilnym) i stwierdziłem, że rodzice przekazali niebezpieczną pomoc w ręce nieletnich bez odpowiedniego nadzoru i że małoletni zaangażowali się w transfer skradzionego oprogramowania, oraz pornografia dziecięca (tak, 16-letni chłopcy robią zdjęcia swoim 16-letnim GF-om to „pornografia dziecięca”). Uderzyłem w zasady właściciela domu i miałem środek, którego w tamtych czasach nawet nie rozważałyby: dożywotni zakaz używania komputerów dla nastolatków.

Zostało rozstrzygnięte w ciągu tygodnia od przekazania odkrycia.

Próbowałeś już wszystkiego innego: młotkuj to gówno za pomocą walletektomii. Uważaj, aby wybrać prawnika, który wie, co to jest, a nie takiego, który jest związany z „dużą firmą”, w której zostaniesz obciążony rachunkiem na śmierć.

Zastanów się, w jaki sposób może zadziałać nakaz sądowy uniemożliwiający palantowi dostęp do Twojej witryny: Został zbanowany - znajdziesz adres IP jego / jej, który narusza nakaz sądowy - wyślij go do swojego adwokata i / on złoży wniosek do sądu naruszenie postanowienia, a sąd odpowie nakazem w trybie uzasadnienia, dlaczego pozwany nie powinien być uznawany za pogardę sądową.

Zaczyna się atak z innych stron / adresów IP - powiedz swojemu prawnikowi - a odpowiedź może obejmować dublowanie komputerów pozwanych, nakaz zatrzymania pozwanego przed dostępem do Internetu oraz, po stwierdzeniu, że pozwany naruszył nakaz przez pełnomocnika , Trybunał nałoży sankcje.

Ostatecznie palant mógł ograniczyć się do wiecznego zablokowania dostępu do Internetu. Jeśli po tym wszystkim jesteś naprawdę wkurzony i chcesz mieć pewność, że pozwany nie ma dostępu do Internetu, wynająć PI, który będzie śledził pozwanego na tydzień lub dziesięć dni (nie tanie) i jeśli on / ona ma dostęp do Internetu od Starbucks - lub McD masz je: wróć do sędziego.

Ostateczny Zakon jest niewiarygodny i stanie się to tylko przy przytłaczających dowodach, że oskarżony rutynowo naruszył postanowienia sądu: brak smartfonów, brak VoIP, brak telewizji kablowej lub satelitarnej (Internet jest dostępny i wykazał całkowite lekceważenie prawo, więc nic, co mogą zhakować w celu uzyskania dostępu, jest zabronione), brak internetu (byłoby miło, gdyby był to dożywotni zakaz - prawdopodobnie nie), brak internetu rzeczy, a ostatecznie żadnych urządzeń komputerowych.

Jeśli pozwany zarabiał na życie w sektorze technologii - mają rowy do kopania i hamburgery do przewracania.

Tak można to zakończyć opcją nuklearną.

George R. O'Connor
źródło
@ Pierre.Vriens W każdym razie jest to interesująca informacja, a gdy jestem w Tokio, moja firma znajduje się w Stanach Zjednoczonych, podobnie jak nadużywający użytkownika.
Patrick Kenny,
OK, przepraszam za mój komentarz (już teraz skasowałem swój poprzedni komentarz) ... Patrzę jednak na to w okularach EUR ...
Pierre.Vriens
2

Podoba mi się model nędzy, ale chciałbym dodać, aby losowo wysłać go na stronę z naprawdę głośnymi irytującymi wiadomościami, a innym razem wysłać go do naprawdę złych stron pornograficznych. Wszystko, co może wpędzić go w kłopoty lub zawstydzić, jeśli będzie publicznie.

nocnik
źródło
1
Desperackie czasy wymagają desperackich środków, byłoby to tak denerwujące. Mogę dodać przekierowanie go do Ricka Roll, lol.
Bez Sssweat
1
To by oznaczało, że jest zablokowany
Ángel
2

Napisałem moduł specjalnie dla tego rodzaju sytuacji. Nazywa się to Spaces Enforced i można go znaleźć tutaj. Działa poprzez blokowanie każdej rejestrującej się osoby, której imię nie zawiera co najmniej 1 spacji. Można go dalej konfigurować i możesz wybrać, która postać ma pojawiać się ile razy. Ma również wskaźnik sukcesji blisko 100%

Kartagis
źródło