» Jak walczyć ze spamem na forum dyskusyjnym?
13.01.2007 | kategoria: E-biznes
tematy: spam, walka ze spamem na forum
Sposoby są różne. Większość osób ogranicza się do obrazków z losowym ciągiem znaków, z którymi boty dają sobie radę. Często można też spotkać pytania typu: „suma 2 i 3″ (co wydaje mi się łatwe do obejścia przez automat).
Damian Daszkiewicz ostatnio wprowadził przy rejestracji na forum dyskusyjnym SkutecznyPartner.pl pytanie o imię Małysza.

Nieco mnie to zdziwiło, bo nigdzie wcześniej nie spotkałam takiego rozwiązania. Najciemniej pod latarnią? Wydaje mi się, że będzie to długo skuteczne. Oczywiście wobec zagranicznych automatów, a nie użytkowników spamerów.
Wpis opublikowano: 13.01.2007


Zakładając, że ktoś zna imię Adama Małysza :D
A znasz kogoś, kto nie zna?
Znam…
A jakie proponujesz pytanie, żeby 100% Polaków znało odpowiedź?
U mnie na forum (co prawda przy wysyłaniu posta) był mały skrypt JS, który wpisywał w odpowiednie pole tekst i ukrywał go, o ile przeglądarka użytkownika obsługiwała JS+DOM. A jeżeli nie to musiał też po prostu wpisać słowo.
Ale takie zabezpieczenia, o ile skutkują na ogólnoatakujace boty spamowe, to są bezradne w walce z automatami dostosowanymi do konkretnego forum.
Na pewno nie będzie to imię prezydenta – ostatnie sondaże pokazują, że obecnego prezydenta nie zna nawet do 6% społeczeństwa. A przynajmniej nie odróżnia go od premiera.
Adama Małysza zna chyba każdy Polak. A ktoś np. z USA nie będzie go znał (chyba, że jest zapalonym miłośnikiem skoków narciarskich i o dziwo zna podstawy języka Polskiego, aby jakoś sobie to pytanie przetłumaczyć). Spammerski robot tym bardziej nie będzie znał odpowiedzi na to pytanie.
Zadając pytanie w stylu 2+2 nawet hindus wpisze 4, bo się domyśli o co chodzi, a to pytanie chyba jest dość proste dla Polaka i zbyt trudne dla obcokrajowca.
Odnośnie tego skryptu JS – to tutaj bym uważał, gdyż wydaje mi się, że niektórzy spammerzy sami ręcznie się rejestrują na forach internetowych
Shrew: proponuje pytanie w stylu audiotele (tak, żeby odpowiedzi domyślili też Ci inteligentni inaczej): „Jak ma na imię Adam Małysz ??” :]
Piotr, to jest IMO niemal pewne, że będzie wpisywał Adam i Małysz. I dobrze trafi z Adamem.
shrew: niemal robi różnicę… zdziwiłabyś się, jak wiele ludzi na pytania „audiotele” odpowiada błędnie…
1) Miałam na myśli bota, że będzie wpisywał.
2) No to dochodzimy do wniosku, że:
- żadne pytanie nie jest proste
- żyjemy w kraju totalnych debili
- każdy, kto bierze udział w idiotycznym audiotele, będzie brał udział w dyskusjach na forum o programach partnerskich
- najlepiej to nic nie robić, bo zawsze znajdzie się ktoś, kto nie będzie umiał przepisać literek z obrazka, dodać 2 i 2 albo odpowiedzieć na proste pytanie.
Czy w takim kierunku idzie Twoje myślenie?
shrew: zdecydowanie nie – no może z wyjątkiem tego, że debili na świecie nie brakuje :]
IMHO najlepszym zdaniem są pluginy typu SPAM KARMA… Jakby to się dało zintegrować z forum albo z jakąkolwiek inną stroną to byłoby super… Całą robotę za łebmajstra „odwalałby” skrypt…
Piotr, narzędzia są różne, ale mało skuteczne. Damian początkowo zastosował coś innego i wydawało się, że działa (o tym można przeczytać w jego notce na ten temat). Jednak nie działa. Ze spamem nie walczy się raz, tylko to nieustanna walka. Na moim blogu nawet spam karma nie daje rady :>
Moje poprzednie rozwiązanie zdaje egzamin. Ale trzeba ciągle aktualizować listę zakazanych słów. Z wiadomych wzgledów nie chciałem blokować słów typu viagra, bo to jest wylanie dziecka z kąpielą (nie każdy post w którym jest to słowo musi być reklamą strony z medykamentami) tylko jako zakazane słowa dawałem fragmenty adresów stron WWW.
Jednak to rozwiązanie ma wadę, że eliminuje x% spamu i ciągle trzeba karmić plik z zakazanymi słowami. Jeśli x jest znacznie mniejsze od 100, to znaczy, że wtedy to jedno jedyne rozwiązanie wyeliminuje jedynie część SPAMu, ale nie wyeliminuje problemu
Brak znajomości imienia Małysza nie musi być problemem. Użytkownik, który chce się zarejestrować i o dziwo przegapił małyszomanię, może użyć Google.
Wystarczy zadać pytanie „Jakie jest imię Adama Małysza?” i już. Nawet Ci co przespali małyszomanię odpowiedzą, a generyczny spambot się potknie.
Ja osobiscie nie rozumiem chyba skutecznosci tego pytania o Malysza. Co to za zabezpiecznie co jest wiecznie ta sama odpowiedz. A zmuszanie ludzi do szperania w Google to jest chyba przesada. Moze pod pytaniem dajcie formularz Google, zeby sobie mogl poszukac odrazu :) Co do tego tekstu, ze najpierw odpowie Malysz, a potem Adam i trafi to pytania mozna wyswietlac jako bitmapy, a nie jako tekst.
PS Kurcze, dzieki!! Wlasnie wpadlem na genialny pomysl zabezpiecznaia formularzy :)
Ogolnie wszelkie zabezpieczenie typu „Przepisz to nieczytelne dla ciebie cos, a co botowi z OCR nie sprawia zadnego klopotu” nie zdaja egzaminu i sa tylko utrudnieniem dla uzytkownikow, nie wspominajac juz o accessibility, bo o ile zdrowy (chodzi o oczy) czowiek ma czasami (ostatnio coraz czesciej) klopoty z odczytaniem tej papki, to co ma powiedziec na to osoba niedowidzaca, lub niewidoma?
Obrazki typu ile to jest 2+2…. z tego co pamietam to maszyny radza sobie znaaaacznie lepiej z arytmetyka (a z dodawaniem to juz po mistrzowsku :]), no, a OCR to zstosuje sie juz w wyzej opisanym przypadku.
Pytania o Malysza tez moga sprawic klopot, zwlaszcza jak juz wspomniano naszymi uzytkownikami sa osoby spoza granicy, ktorych nie interesuja skoki narciarskie, aktualny mistrz Formuly 1, pierwszy prezydent USA… Problem z takimi pytaniami jets taki, ze zawsze znajdzie sie pewna grupa ludzi, ktora nic nie wie na ten temat, a raczej googlowanie nie bedzie dla nich powodem do podbudowania reputacji naszej firmy (stawiam browca, ze efekt bedzie odwrotny i w najgorszym przypadku stracimy klienta, „a zirytowany klient powiadamia o tym 12 swoich znajomych” jak to w biznesie sie mawia…).
Chcecie prostego rozwiazania? Oto jedno z nich, moim zdaniem bardzo skuteczne, bo… malo popularne jak na razie, a koszt wdrozenia, to 5 min, + czas na odpalenie edytora i odszukanie odpowiednich linijek w kodzie zmienianych plikow :P
Wystarczy dodac cos takiego:
A do skryptu obslugujacego dodac „na dzien dobry” (czyt. w pierwszej linijce):
if (isSet($_POST["spam"])
die();
Co to da i dlaczego dziala?
Da nam to, ze gdy po wyslaniu formularza skrypt napotka ustawiona zmienna POST (lub get w zaleznosci od metody przesylania danych) – tutaj to jest zmienna spam – to zakonczy dzialanie skryptu (w die(); mozna podac komunikat – szczegoly w manualu PHP ;)) i nie doda posta/komentarza nie wysle e-maila itp.
Ale dlaczego niby mialby tam napotkac ta zmienna, skoro ukryte pole input jest zakomentowane i przegladarka traktuje to jako komentarz a nie czesc kodu?
Wlasnie dlatego, ze to nie jest kod dla przegladarki tylko dla bota :D
Wiekszosc napisanych botow jest… glupia… no dobra wszystkie sa, ale wiekszosc kretynsko glupia :)
Dzieje sie to dlatego, ze dla zaoszczedzenia czasu i zasobow programisci pisza boty, ktore parsuja formularze nie zwracajac uwagi, czy pola sa zakomentowane, czy nie. Skutkiem tego jest przeslanie formularza z dana ktora powinna normalnie byc zakomentowana, a przez glupiego bota zmienna zostala wyalana z formularzem.
Skrypt jest tak debilnie prosty jak „inteligencja” atakujacych botow (hehe, zwalczaj ogien ogniem :)), ale jego skutecznosc porazajaca. Osoby ktore go zastosowaly, albo nie maja zadnych spamow, albo ich ilosc jest na poziomie kilku na tydzien :]
Zwroccie uwage, ze dalem sprawdzanie na ustawienie zmiennej, a nie jej wartosc. Niektore boty probuja zmieniac dane i wprowadzac tam co leci ;)
To jest tylko jedna z metod. Bardzo prymitywna, ale bardzo skuteczna i szybka w implemantacji. Polecam takie metody, zamiast wysublimowanych super-zaawansowanych i drogich systemow? Dlaczego? Bo sa tanie, szybkie i nie odkrywamy wszystkich swoich asow. JAk zabezpieczenie zostanie zlamane (a kazde zostanie), to koszta sa minimalne, a obmyslenie kolejnego lepszego nie powinno nastreczyc wiekszych problemow (polecam juz takie miec w zanadrzu w przypadku przelamania obrony).
**Krojcie zabezpieczenia na miare potrzeb i nie spoczywajcie na laurach**
Druga sprawa, to odwieczny problem… kasowac, czy moderowac… zdecydowanie MODEROWAC. Jest to dla nas wiecej pracy, ale podejrzane posty lepiej przeczytac, niz zautomatu wywalac. Przyklad mam z wczoraj, qmpel poslal mi maila z dokumentami do druku, dla jaj zrobil mi zarcik i zatytulowal go jako: powiekszanie penisa :] Jego szczescie, ze moj filtr tylko pprzenosi wiadomosci do kosza, a nie automatycznie je kasuje :]
Z reszta przy kilku prostych trickach nie bedzie klopotu z moderacja, bo ilosc podejrzanych postow bedzie malutka i to glownie bedzie post z nadmierna iloscia linkow w tresci, ktora przekroczyla przyzwoita ilosc 2 linkow w poscie. Autor chcial jak najlepiej pomoc komus, rzucil duza bibliografia/materialami do poczytania, dlaczego mamy go kazac usunieciem posta? Lepiej grzecznie poinformowac go, ze jego post zostanie poddany moderacji z powodu duzej ilosci linkow, aby uchronic uzytkownikow przed spamem i zapewnic im najwyzsza jakosc uslug, i ze post bedzie dostepny niebawem; niz z automatu wywalac jego ciezko nasmarowany post i wyzywac od spamerow :]
Polecam pogooglowac troche po necie ilosc prostych trickow powinna zadowolic kazdego, pomocne sklowa kluczowe to: „jak nie zostac posadzonym o spam”, „jak nie zostac spamerem”, „zabezpieczenia przed spamem/robotami/pajakami” etc. :)
Mam nadzieje, ze bylem pomocny :]
proste, ale skuteczne zabezpieczenie forum przed rejestracją robotów – dla normalnego użytkownika zabezpieczenie jest niewidoczne – wypełnia się standardowy formularz, wprowadzenie modyfikacji trwa ok. 3 minuty: http://phpbb-security.dylemat.com
[...] Ostatnio istną plagą jest SPAM na forach internetowych, w księgach gości czy w komentarzach na blogach. Taki spammer wchodzi na forum i w dowolnym temacie pisze, że “pewna część Twojego ciała jest malutka, ale można ją powiększyć” i daje link do strony oferującej tego typu usługi. Spammer nawet się nie przejmuje tym, że na forum rozmawiamy po Polsku, on i tak wie, że wiele osób zna język angielski, poza tym te spammerskie posty wrzuci na setki for internetowych, więc zawsze ktoś kliknie w link. Taki spammer bez problemu da sobie radę z założeniem konta na forum gdyż większość osób używa standardowego forum opartego na PHPBB2 i nawet jeśli przetłumaczymy skrypt na rodzimy język to on dobrze wie, że: w pierwszym polu od góry wpisuje się login, drugim adres email a w trzecim i czwartym hasło. Mało tego – taki spammer może nawet napisać program, który wyszukuje fora dyskusyjne (od czego są google) i automatycznie zakłada nowe konta, loguje się i tworzy nowe wątki (SPAM). Jednak są skuteczne formy walki z takimi spammerami… Jakiś czas temu napisałem prosty skrypt który po zauważeniu zakazanego słowa nie publikował wiadomości na forum. Jednak tutaj musiałem ostrożnie dodawać słowa, bo nie każdy kto pisze viagra ma na celu zareklamować stronę na której można kupić ten specyfik (wyobraź sobie, że na forum medycznym dwóch lekarzy rozmawia o negatywnych skutkach stosowania tego specyfiku a tu ich wypowiedzi nie są publikowane). Dlatego też do czarnej listy dodawałem adresy spammerskich stron. Jednak spammerzy co chwilę zakładali nowe domeny i taka zabawa w kotka i myszkę nie przynosiła dobrych efektów. Jednak postanowiłem troszkę namieszać: dodałem w formularzu rejestracyjnym nowe pole w którym trzeba wpisać imię Małysza. Prawie każdy Polak wie jak ma na imię Małysz i bez problemu odpowie na to pytanie a obcokrajowiec nie znający języka polskiego nawet nie będzie wiedział o co chodzi Efekt? Zabezpieczenie wprowadziłem w okolicach 13 stycznia (13 stycznia o tym pisała Patrycja Kierzkowska na swoim blogu). Do dzisiaj na forum nie pojawił się ani jeden SPAM. To zabezpieczenie można wykorzystać również w serwisach internetowych w których pod artykułami można zamieścić swój komentarz itp. Odnośnie mojego blogu, to stosuję inne zabezpieczenie: wtyczka Akismet, która usunęła kilka tysięcy SPAMów a przepuściła może 5. [...]
IMHO to jest nie fair, żeby zwalać odspamianie na użytkowników – to oni tracą czas na dumanie o małyszu, arytmetykę czy najgorsze przepisywanie jakiś kolorowych robaczków.
Lepiej blokować spamy automatycznie, np. przez http://sblam.com.