ďťż

[PHP][HTML] Zabezpieczenie przed spambotami Nietypowe nazwy pól. Problem filozoficzny.

       

Podstrony


telcocafe

Na stworzoną przeze mnie stronę wtargnęły dwa spamboty (pewnie było ich więcej, ale zastosowałem kilka zabezpieczeń). Zastanawia mnie mechanizm ich "myślenia". Czytałem coś, niecoś na blogach i z doświadczenia wywnioskowałem to, że roboty wypełniają formularze posługując się szablonami. Mianowicie, gdy odnajdują jedno z pól "web", "www", "url" etc., wrzucają tam adres internetowy; analogicznie pozostałe pola. Nie zwracają jedynie uwagi na textarea - wrzucają tam pęk linków.
Zastanawia mnie teraz, czy poradziłaby coś zmiana nazw pól na nic nieznaczące ciągi znaków. Oczywiście wcześniej by zostały one gdzieś zapisane.
Co inni o tym myślą? Czy to by coś poskutkowało? (Niestety nie mam dostępu do komputera by to przetestować).
Użytkownik andrzej_aa edytował ten post 01 grudzień 2007, 21:46


Sam tak zmieniałem nazwy i nic to nie dało. Jedynie miałem spokój na jakieś 6 dni. Potem wszędzie spam, linki itp.
Po miesiącu miałem ich pełno w księdze gości. Dodałem zabezpieczenie typu challenge-response i od pół roku nie mam ani jednego zbędnego wpisu :-)

Tak, Challenge-Response . . . Właśnie przez to prześliznął się spam. Dlatego szukam czegoś lepszego :)
Hmm . . . A czy miałeś textarea czy input tekstowy? (Chociaż to chyba nie zmienia sprawy). Bo wydaje mi się, że roboty szukają formularzy z textarea bowiem takie są przeznaczane na komentarze etc. A formularz logowania nie posiada takowego - stąd nie dobierają się do nich.
Użytkownik andrzej_aa edytował ten post 01 grudzień 2007, 15:26
Miałem oba typy. I textarea i input text. Oba zasyfione.
Kiedyś wrzuciłem do formularza proste pytanie:

Ile jest 4+7? Podaj odpowiedź:
I zero spamu. ;-)

Ewentualnie wyprobuj Captche, ale ona też nie jest 'niezwyciężona' ;).



Z pytaniem mówisz? Oj,jak się jakiś kolejny spambot przewinie to włączę pytanie. Formularz znajduje się na stronie szkolnej więc nie powinno być problemu z odpowiedzią :)
CAPTHA to zły pomysł, ponieważ czasem ciężko jest odczytać kod i ja omijam to szerokim łukiem.

ja kiedys robilem tak

dawalem pole hidden - i po zaladowaniu strony uzupelnialem go za pomoca js'u

i potem sprawdzalem pole_hidden == wartosc_ktora_ma_byc_wstawiona_przez_js

dzialalo bardzo dobrze - nie wiem jak teraz :)

Javascript . . . To ostatecznie. Niektórzy z pewnych względów mają wyłączone wykonywanie skryptów bądź brak ich obsługi. Ale jeśli tak, to można by stworzyć cały formularz za pomocą JS :D To by zabezpieczało przed dodawaniem wpisów przez osoby bez JS oraz spambotami.
Sprawę Javascriptu zostawiam na koniec. Najpierw muszę coś wymyślić prostszego.
Może gdybym miał jakiś popularny serwis, mógłbym manewrować na wszystkie sposoby i testować rozwiązania antyspamowe.

najprostszym sposobem na zablokowanie spambotów jest umieszczenie dwóch radiobuttonów o tej samej nazwie. zaznaczamy domyślnie ten, którego wartość blokuje dodanie wpisu. Żaden spambot (narazie) nie jest wstanie rozpoznać i pozmieniać odpowiednio takich radiobuttonów (oczywiście drugi nie blokuje strony)

@up:
Ech, o czym ja myślę. Pomyliłem Challenge-response ze sposobem opisanym przez Piotra. To właśnie wspomniany przez Piotra sposób przepuścił 3 wpisy. Zaś rozwiązanie Challenge-response dopiero mam zamiar wykorzystać.
Moja głowa :) Przepraszam za pomyłkę.
//edit
Kolejny spambot. Mam blokadę IP, ale one się mnożą.
Jednak zastosuję Challenge-response. Przynajmniej na razie - dopóki nie znajdę jakiegoś lepszego sposobu . . .
Użytkownik andrzej_aa edytował ten post 01 grudzień 2007, 21:43
Kilka pól hidden o nazwach jak np. www, email, które zablokują wpis jeśli będą wypełnione? + blokada ip gdy to będzie np. 3 próba.
Możesz też sprawdzać wpisany tekst pod kątem adresów www i blokować dodawanie gdy jest ich zbyt dużo, filtruj też wg. określonych słów kluczowych. Może też sprawdzaj useragent?

JS: na tyle prosty język by boty go miały zaimplementowanego, nawet kompletną wersję jaka jest w przeglądarkach. Szczególnie że jest dostępny silnik(i?) JS który sobie można użyć w każdym programie do każdego celu.

Ach, to już takie są "mądre"?
Te, które nawiedzają mnie nie znają polskiego, ale dodają wpisy tylko w księdze gości. Pytanie po polsku i odpowiedź powinna je "załatwić".
Odnośnie kilku ukrytych pól to nawet niezły pomysł, ale nie wiem czy dobry. Przecież na niektórych stronach w ukrytych polach są np. identyfikatory. A robot gdyby zmienił takie pole by był za głupi.
Blokada? Nie. Zbyt ryzykowne.
Zezwolenie na maksymalnie trzy adresy www w wiadomości? Nawet mi się podoba :) Tylko nie wiem kiedy to zrobię bo nie mam w domu komputera, a w szkole pracuję nad innym projektem. Muszę coś w tym czasie wymyślić "na szybko" . . .
//edit
Jeszcze dane przeglądarki. Co zawierają te, które wysyłają roboty? Bo jeśli tak to nie wiem co sprawdzać. Mam prosty skrypt, którzy informuje o przeglądarce i systemie operacyjnym, ale musiałbym chyba uzupełnić o pozostałe dane, by nie mieć problemów z identyfikacją.
Użytkownik andrzej_aa edytował ten post 01 grudzień 2007, 22:41
moze cos z: http://www.beldzio.c...pambotami.freez

nie ma to jak autopromocja strony... :-) - s
Użytkownik sauron edytował ten post 02 grudzień 2007, 22:56
Hmm... Nie zauważyłem tej notki :-) Ale przeczytam bo widzę nagłówek, którego szukam :-)
BTW Fajny design ;-) Pierwszy raz widziałem Twoją stronę przez desktopową przeglądarkę :-D
Aha, już włączyłem Challenge-response. Dodałem jeszcze zakomentowane pole (chociaż na "mądre" roboty to nie zadziała). Myślałem jeszcze o ukrytym przez CSS, ale już nie będę na razie niczego modził :-) Poczekam na przebicie tej zapory.
//edit
Challenge-response. Jak na razie roboty mają mocny orzech do zgryzienia a użytkownikom to w niczym nie przeszkadza.
Przeczytałem też notkę Bełdzia. Większość metod już znam. Jedynie o ramce i Ajaxie nie wiedziałem.
Użytkownik andrzej_aa edytował ten post 05 grudzień 2007, 19:39
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.