Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: spamery?
Forum PHP.pl > Forum > PHP
Stron: 1, 2
KCG
Mam dziwne wpisy w księdze gości, właściwie jest to jeszcze wersja testowa, ale już dziś się 3 pojawiły (usunąłem ok. 70 - od kwietnia):
http://pytak.no-ip.org/~trudny/new_moto/book.php
Zrobiłem ograniczenie 1 wpis na 1h (po ip), ale tego za bardzo nie wiem, jak się pozbyć.
Może jakieś sugestie?

pzdr
sniezny_wilk
Dobry CAPTCHA załatwi boota.
tiraeth
A po co CAPTCHA? Jest wiele innych, dobrze działających (a nawet lepiej) rozwiązań.

Poszukaj na forum, bo już milion razy było!
AxZx
zrob pole w formularzy w ktore trzeba bedzie wpisac wynik dzialania matematycznego ktore bedzie wyswietlane obok.
jakies proste losowo ukladne, np 2 + 3, 3 * 1 itd

Cytat
Dobry CAPTCHA załatwi boota.


po co chcesz zalatwiac program rozruchowy?
Pilsener
Po co na boty jakieś kapcie? Zobacz, jak zabezpieczam formularz dodawania komentarza na brydz.ugu.pl - to tak zwane pasywne zabezpieczenia anty-spamowe, eliminują 99,5% bociszy. Gdy to nie pomaga (bot dedydykowany) wycofujesz się na drugą linię obrony - statystyczny filtr antyspamowy. Ja np. używam Sblam, ale możesz używać nawet kilku naraz. Na moim blogu tego używam i jeszcze żaden bocisz się nie przemknął smile.gif
Shili
Dokładnie, capcha to najgorsze rozwiązanie z możliwych. W tym przypadku wystarczy ograniczyć liczbę linków (na przykład jeśli więcej niż dwa razy pojawi się fraza http:// i https:// wpis nie jest akceptowany - jest to dość prosta metoda, a z tego co wiem mało który prawdziwy użytkownik wstawia więcej niż jeden, maksymalnie dwa adresy stron.
em1X
Ktoś mądrze napisał, że zamiast sprawdzać czy piszący jest człowiekiem, lepiej sprawdzać czy jest botem winksmiley.jpg

I ciekawym rozwiązaniem jest umieszczenie niewidocznego pola tekstowego, które jeżeli jest wypełnione oznacza to, że piszący jest botem! smile.gif
sniezny_wilk
Cytat(em1X @ 20.05.2008, 09:50:02 ) *
Ktoś mądrze napisał, że zamiast sprawdzać czy piszący jest człowiekiem, lepiej sprawdzać czy jest botem winksmiley.jpg

I ciekawym rozwiązaniem jest umieszczenie niewidocznego pola tekstowego, które jeżeli jest wypełnione oznacza to, że piszący jest botem! smile.gif


Są sprytnie, niektóre się nie nabiorą, lepiej zrobić widoczne i napisać, żeby go nie wypełniać.
Shili
Są takie, które rozpoznają nawet frazy (co prawda głównie w języku angielskim, ale potrafią sobie przyporządkować i zostawić puste, tam gdzie jest empty w opisie); są takie, które uzupełniają domyślne pola, nie wszystkie, ale te wymagane w większości serwisów - też mogą pole pozostawić puste. Wydaje mi się jednak, że takie pola to dobry pomysł, o ile następuje po nich jeszcze filtrowanie wyników.
KCG
Cytat(Pilsener @ 20.05.2008, 08:26:43 ) *
Po co na boty jakieś kapcie? Zobacz, jak zabezpieczam formularz dodawania komentarza na brydz.ugu.pl - to tak zwane pasywne zabezpieczenia anty-spamowe, eliminują 99,5% bociszy. Gdy to nie pomaga (bot dedydykowany) wycofujesz się na drugą linię obrony - statystyczny filtr antyspamowy. Ja np. używam Sblam, ale możesz używać nawet kilku naraz. Na moim blogu tego używam i jeszcze żaden bocisz się nie przemknął smile.gif

No dodałem komentarz i tak za bardzo nie rozumiem, jakie to jest zabezpieczenie, możesz mi nieco rozjaśnić?
Co do obrazków, to też sądzę, że za dużo zamieszania na prostą księgę gości.
Zostaje działanie lub puste pole, może na razie tak spróbuję smile.gif

pzdr i dzięki za odpowiedzi
Pilsener
Cytat
i tak za bardzo nie rozumiem, jakie to jest zabezpieczenie
- bo trzeba by być botem winksmiley.jpg

W kodzie masz takie kwiatki:
  1. <!-- <input type="hidden" name="wnyk" /> -->
  2. <!-- <input type="hidden" name="wnyk2" value="1" /> -->
  3. <input type="hidden" name="wnyk3" />
  4. <input type="hidden" name="token" value="1211289751" />
- to wszystko to kilka sprawdzonych rodzajów pułapek na boty. Zbyt długo by szczegółowo wszystko opisywać, ale w sieci jest parę artykułów na ten temat. No i możesz też ruszyć głową i wysilić wyobraźnię winksmiley.jpg
.radex
http://sblam.com/

Sblam! i po kłopocie smile.gif
KCG
Dzięki, na razie sprawdzę to: http://blog.koloda.pl/spam-w-formularzach-...iag-dalszy.html smile.gif

Sprawdziłem - nic, zainstalowałem sblam i zobaczcie http://pytak.no-ip.org/~trudny/new_moto/book.php wpis 'of Ultram'. Co ciekawe to jakby w ogóle nie przeszlo przez mój skrypt dodawania, gdyż był normalny link (wyedytowałem już), jakby funkcja htmlspecialchars() nie zadziałała. Co to może być?;/ (sblam na razie niby żadnego spamu nie wyłapał, a tego wpisu nie ma nawet w tych 'dobrych')
.radex
Jesteś pewien, że dobrze to robisz smile.gif ?
KCG
Normalnie działa, a test spamu też okej, więc chyba jest dobrze?
.radex
Dziwne... Mi jeszcze Sblam niczego nie przepuścił tongue.gif
KCG
No to dam kod, co mi zależy w sumie tongue.gif smile.gif
  1. <?php
  2. if (isset($_POST['cegla1']) || (!isset($_POST['cegla2']) || $_POST['cegla2'] !== '')) exit;
  3. if (!isset($_POST['sub1']) || $_POST['sub1'] != 'Dodaj') exit;
  4. $kolejnosc = implode('.',array_keys($_POST));
  5. if (!(strpos($kolejnosc,'book_autor.book_body.mode.sub1') === 0 ||
  6. (!array_key_exists('book_autor',$_POST) && strpos($kolejnosc,'book_body.mode.sub1') === 0 ))) exit;
  7. include_once('class/sblam/sblamtest.php');
  8. $rezultat = sblamtestpost(array('book_body','book_autor',NULL,NULL),'klucz');
  9. if ($rezultat > 0) {
  10. $title = 'Błąd!';
  11. require_once('head.php');
  12. echo '<br /><br />';
  13. echo '<p class="red">Przepraszamy - Twój post został uznany za spam!</p>';
  14. echo '<p><a href="book.php?mode=add">Spróbuj się wpisać jeszcze raz.</a></p>';
  15. require_once('foot.php');
  16. }
  17. ?>

wcześniej jakieś inne sposoby, ze stronki, co wcześniej pisałem.

A i zapisuje sobie IP ze zmiennej $_SERVER['REMOTE_ADDR'], a te wpisy to pole maja puste.
Black-Berry
http://xkcd.com/233/
KCG
Black-Berry ?
Już nie wiem, zrobiłem te pasywne zabezpieczenia, sblam, ograniczyłem linki do 2, a znów się pojawiły 2 spamy/wpisy ;/ Poza tym to ip się nie wpisuje, to taki spryciarz, czy jest możliwość, że to bezpośrednio do bazy wpada?
szagi3891
Czy ktoś może przytoczyć sposoby tworzenia pułapek na boty ? Ewentualnie czy ktoś posiada jakieś ciekawe linki prowadzące do stron o tej tematyce ?
grzemach
przyłączam się do prośby jakiś artykuł ktoś może podać?
Athlan
Pisałem o tym kiedyś dość obszeny materiał:
http://athlan.pl/obrona-przed-spamem/

Sblam odradzam, jest fantastyczny, ale czasem dodanie komentarza zamula kilkadzisiąt sekund, kilka razmy mialem nawet timeouta.

Dobry przykład (czyli o robieniu botów w bambuko smile.gif ):
http://athlan.pl/code/html-antispam
szagi3891
Jedyne w Twoim zabezpieczeniu nie podoba mi się to że używać javascript. Mimo wszystko nie wszyscy muszą mieć włączoną obsługę javascript.

Osobiście używam innego zabezpieczenia. Dodaje dodatkowe pole ukryte które dla żartu nazwałem "temida". To pole zawiera zaszyfrowaną datę oraz godzinę wygenerowania formularza co do sekund. Nikt tego nie odczyta gdyż klucz znajduje się na serwerze i tylko skrypty mają do niego dostęp.

Skrypt odbierający dane z tego formularza sprawdza jaki jest czas kiedy nastąpiło kliknięcie na dodanie komentarza. Jeśli to było szybkie dodanie, czas od wygenerowania do kliknięcia dodania jest mniejszy niż 10 sekund, komentarza jest odrzucany. Jeśli od wygenerowania formularza minęła godzina to komentarz również jest odrzucany. Wbrew swojej prostocie to zabezpieczenie sprawdza się bardzo dobrze. Większość robotów zaraz po pobraniu strony próbuje dodać swój wpis bądź pobiera stronę i na podstawie tej zapisanej strony nawet po dwóch miesiącach od wygenerowania próbuje dodać jakieś wpisy.

Dodałem jeszcze regułę odrzucającą komentarz ze słowem viagra i nic praktycznie nie przeszło do tej pory smile.gif
.radex
Ja ostatnio wymyśliłem (no, ba. Widziałem też to w innych miejscach tongue.gif) taki prosty sposób: podanie w formie tekstu różnych prostych matematycznych zadań, np:

dwa plus cztery
sześć razy dwa

itd.
Black-Berry
@szagi3891 Podoba mi się Twój spób ale co jeśli ktoś napisze bota tak aby wysyłał komentarz po 20 sekundach questionmark.gif
Pilsener
Cytat
ale co jeśli ktoś napisze bota tak aby wysyłał komentarz po 20 sekundach
- taki bot byłby całkiem nieopłacalny, poza tym z reguły boty wysyłają same nagłówki, więc nie są w stanie wygenerować prawidłowego tokena (czyli czasu) - a nawet jeśli wypełnią token, to podają liczby lub jakieś losowe dane - łatwo się przed tym zabezpieczyć, odrzucając formularze starsze niż np. 15 minut. Poza tym to tylko jeden rodzaj zabezpieczeń, warto połączyć kilka, tak jak ja to zrobiłem kilka postów wyżej - razem to prawie 100% skuteczności.

Cytat
Sblam odradzam, jest fantastyczny, ale czasem dodanie komentarza zamula kilkadzisiąt sekund
- dlatego ja zalecam, aby był, ale jako opcja - czyli w ostateczności (kiedy pasywne blokady sobie nie radzą) SBLAM ON. Pasywne blokady mogą sobie ni radzić tylko wtedy, kiedy ktoś napisze bota dedykowanego specjalnie pod nasz skrypt.

Próbowałem i temu zaradzić, generując losowo inputy i ich name'y, plus opisy jako imgi (też oczywiście dynamicznie tworzone i o losowej nazwie), jednak kilka osób stwierdziło, że zmieniająca się kolejność inputów doprowadzi userów do szału. W każdym bądź razie pomysł jakiś jest, może ktoś to rozwinie winksmiley.jpg
szagi3891
@Black-Berry - nie twierdzę że jest to zabezpieczenie które definitywnie upora się ze spamem. Przedstawiam tą metodę tylko jako przykład że można ją wstępnie zastosować do pierwszego przefiltrowania wiadomości.

Greylisting pocztowy działa w podobny sposób. Poczta najpierw jest odrzucana przez serwer i dopiero przy następnej próbie dostarczenia jest przyjmowana przez serwer odbiorcy.
Athlan
Widzę, że Waszym motto nie jest na pewno: "Prostota jest piękna".

Ja bym zastosował sposób z dodawaniem liczb (plus ewentualna lokalizacja na inne języki w aplikacjach wielojęzycznych, ponieważ wyrażenie matematyczne ładnie opisać słowami) + zmiana action za pomocą Javascript. Co do % osób nie używających JS, z tego co się orientuję jest ich 1,2%, z czego 90% to boty, co daje 0,12% użytkowników Internetu.

*poprawione z 0.03 na 0.12%, pomylilem sie.
bim2
Rozwiązanie Athlana oraz zakomentowaniem inputa z pustymi wartosciami wydaje mi się idealne. Ja bym się nie przejmował już ludźmi bez JS, bo jak komuś będzie zależało na poprawnym działaniu strony, to sobie to włączy (mówimy o 0,03% użytkowników z wyłączoną obsługą JS).
szagi3891
@Athlan - coś mi się nie podoba Twoja matematyka rolleyes.gif

Przy założeniu że 90% z klientów bez włączonego js to roboty. -> wynika z tego że 10 % to ludzie którzy mają wyłączoną javę script.

Jeśli zakładasz że 1,2% to procent wszystkich klientów bez js to całkowita liczba "ludzi właściwych" nie posiadających włączonej javyscript wynosi 1,2% * 10% = 0,12% a nie jak piszesz wyżej 0,03% laugh.gif

Odnośnie prostoty. To jest prostota dla Ciebie czy dla Twoich użytkowników ? Moim zdaniem bardziej nieprofesjonalnie wygląda strona na której oprócz pól do dodania nowego postu/komentarza/czegokolwiek znajduje się jeszcze dodatkowe pytanie z polem gdzie pisze "podaj wynik równania 2 + 2" lub wprowadź kod z obrazka (który jest często podobny do któregoś ze znakomitych dzieł picassa). Wybacz ale to wygląda jak by się webmasterowi zupełnie nic nie chciało i zrobił prostą łatę która ograniczy problem ze spamem. Jest to przerzucanie wykonywania dodatkowych czynności na użytkownika. Powinno dążyć się w przeciwnym kierunku, użytkownik powinien się martwić niczym innym oprócz wprowadzenia właściwej treści a to czy strona pada ofiarą botów czy nie to użytkownika tak naprawdę nie obchodzi.
KCG
Wydaję mi się, że wiele zrobiłem, jednak dalej ten spam się przedostaje;/ Jeszcze jedno pytanie: to zależy też od serwera?
Co do tego kodu:
  1. <form action="http://example.com/" method="post" id="form">
  2. <legend>Dodaj swój komentarz</legend>
  3. <!--pola(...) -->
  4. <div style="display: none;">
  5. <label for="form_mail">Tego pola nie wypełniaj:</label>
  6. <input type="text" name="mail" id="form_mail" value="" />
  7. </div>
  8.  
  9. <input type="submit" value="Dodaj komentarz" />
  10.  
  11. </form>
  12.  
  13. <script type="text/javascript">
  14. function AntispamComment(sId, sAction)
  15. {
  16. document.getElementById(sId).action = sAction;
  17. }
  18.  
  19. AntispamComment('form', 'http://athlan.vgroup.pl/')

To rozumiem, że action zostawiam dosłownie: 'http://example.com/'? I nie bardzo rozumiem, jak ten formularz ma być wysyłany? Jeśli umieszczę skrypt js w tym samym pliku to funkcja się wykona po kliknięciu dodaj komentarz?

dzięki wszystkim za odpowiedzi winksmiley.jpg
.radex
Raczej skorzystałbym z .setAttribute - choć na JS'ie się słabo znam, może tak też działa.

Po za tym ja bym nie bawił się JS'em w tych celach.

szagi3891 - może nieprofesjonalnie na stronie firmowej tak (choć znam ludzi, którzy nawet tam dają rzeczy typu 4+6=?), ale na stronie domowej czemu nie?
KCG
Też bym js nie dawał, ale ten spam jakoś sie nie poddaje.
.radex
Może moderacja komentarzy po IP? Pierwszy raz trzeba sprawdzić, jeśli będzie ok, będzie dalej przyjmowało bez pytania.

JS mnie jakoś nie przekonuje.
KCG
Przez zmienna $_SERVER['REMOTED_ADDR']? I co masz na myśli pisząc 'moderacja'? smile.gif
.radex
Mówiąc 'moderacja' miałem na myśli sprawdzenie pierwszego wysłanego komentarza/czegośtam innego z danego IP. Jeśli post będzie ok - zostanie zaakceptowany, kolejne posty będą przychodzić bez sprawdzania przez moderatora.

Oczywiście nie jest to odporne na zmienne ip, ale wraz z sblam wychodzi nieźle.
KCG
Tak, tylko pole ip przy wpisach od botów w bazie mam puste...
.radex
Może źle je pobierasz?

http://php.org.pl/artykuly/3/22
Lejto
a if'a można do tego napisać a tablicą array(); botów?
KCG
Pobrieram ip tą funkcją i dalej nie zapisuje.

Zrobiłem nawet ten myk z js i już mi się jakiś spam wje... :/
Powtórzę pytanie: czy to może zależeć też od serwera?
Firez
Wprawdzie captcha utrudnia nieco userowi korzystanie z serwisu oprócz zatrzymywania spamu przydaje się także do zwiększania poziomu komentarzy.
Sam spam doskonale można powstrzymać przez sblam [około 90-99% spamu] - ale imho warto czasem dać userowi pole formularza nad którym się będzie musial nieco zastanowić. Po wstawieniu captcha na mojej stronie zauważylem znaczne [nie prowadziłem dokładnych statystych] zmniejszenie się ilości bezsensownych komentarzy typu 'aaaaeee', 'd*pa' czy 'xD'. I moderator ma mniej roboty...
KCG
Tylko ja stosuję sporo zabezpieczeń pasywnych i sblam, a efekt taki:
http://pytak.no-ip.org/~trudny/new_moto/book.php
Naprawdę już tylko captcha? Czy może coś źle robię? (ew. co mogę źle robić, skoro pozornie wszystko jest ok)
pest
A potrzebne ci w ogóle możliwość podania linku we wpisie?
Ja w księdze gości na stronie ośrodka wczasowego wstawiłem regułę, że wszystko co ma link trafia do moderatora lub jest od razu wyrzucane. Ludzie się wpisują, spamu nie ma i nikt nie marudził jeszcze, że nie mógł podać linka.
KCG
no nawet, jak bym nie dał linka to będzie spam, tylko w formie tekstowej
wlamywacz
pest

LOL


Jeśli dobrze pamiętam jeśli w form nie ma action to zapytanie robie do strony na której się znajduje i zobacz to u siebie:
Adres:
http://pytak.no-ip.org/~trudny/new_moto/book.php?mode=add
I "antyspam":
  1. <script type="text/javascript">
  2. function AntispamComment(sId, sAction)
  3. {
  4. document.getElementById(sId).action = sAction;
  5. }
  6.  
  7. AntispamComment('book_formadd', 'book.php')


Wysyłaj dane do innego pliku i zobacz czy podziała ;]

Btw. BBC i znacznik b i url sie [zmoderowane] ;/

wlamywacz, ja wszystko rozumiem, ale proszę bez wulgaryzmów w wypowiedziach publicznych /kszychu/
pest
Cytat(wlamywacz @ 30.05.2008, 10:51:58 ) *
pest

LOL



To chyba znaczy, że nie uważasz tego za dobre rozwiązanie winksmiley.jpg.
W sume ja też, ale tam się wpisują ludzie, którzy rzadko wiedzą jak się formatuje tekst i nie ma tam obsługi bbcode, więc jak ktoś na siłę wali "[url=" albo coś podobnego, to jest to dość podejrzane.
wlamywacz
O te BBC chodziło mi o form.php.pl ^^ a nie o Twoją stronę i zastosuj się do moich porad smile.gif
KCG
Czyli lepiej dać przekierowanie do innego pliku, bo bot pomija http://example.com/?

Jakoś już nie mam siły do tego. Możecie mi polecić jakąś klasę captcha? Może tak się uda.
Athlan
Ostatnio na http://email.vgroup.pl zastosowałem dość proste rozwiązanie:

Zaznacz dowolne X checkboxsy, gdzie X to liczba od 2-4. UWAGA! Takie nowinki nie są skuteczne, ponieważ bardzo prosto pod nie napisać dedykowanego bota. No ale chyba wszystkie poza nimi odpadają smile.gif Ewentualnie liczbę można dać w obrazku no w logo... zaznacz tyle checkboxów, ile widzisz gwiazdek na obrazku, tutaj kolejne nooby odpadają smile.gif
marcio
Ja mysle ze wysylanie cookie + token wystarczaja smile.gif

P.S myslalem ze juz problem zostal rozwiazany 2 miechy temu smile.gif

P.S2
http://pytak.no-ip.org/~trudny/new_moto/bo...dro...%3C/h1%3E

EDIT:
http://blog.koloda.pl/prosty-sposob-na-spa...rmularzach.html
http://blog.koloda.pl/spam-w-formularzach-...iag-dalszy.html

A te tricki probowales dosyc fajne metody smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.