Jest coś, czego nie rozumiem, jedna z moich aplikacji internetowych ma małą formę, która pozwala na wpisanie twojego imienia i adresu e-mail, aby „zapisać się” do listy użytkowników witryny, którą prowadzę. Witryna ma bardzo mały ruch i jest przydatna tylko dla bardzo małej liczby osób mieszkających w bardzo małym miasteczku .. nie byłby zainteresowany nikim innym.
Jednak każdego dnia, czasem wiele razy dziennie, ktoś (lub bot) wprowadza do formularza fikcyjne nazwiska i prawdopodobnie fałszywe adresy e-mail.
Ten formularz nie jest już nawet aktywny w mojej witrynie, po prostu zdarza się, że nadal istnieje jako osierocona strona w moim katalogu IIS (co mówi mi, że ktoś szuka tego rodzaju formularzy przez Google, ponieważ nie ma ścieżki do tego formularza, jeśli przejdziesz przez domyślną stronę.
Nie jest to dla mnie duży problem, mogę rozwiązać problem z captcha, ale nie rozumiem, w jakim celu ktoś skonfigurowałby bota do wielokrotnego wypełniania formularzy? Myślę, że musi być jakiś powód, ale dla mnie nie wiem dlaczego?
czego mi brakuje?
Odpowiedzi:
Są to boty próbujące wysłać spam lub, co gorsza, próbujące wykorzystać formularz kontaktowy do wysyłania spamu innym osobom.
Na przykład istnieje kilka dobrze znanych exploitów dla
mail()
komendy PHP często używanych przez formularze kontaktowe, które mogą spowodować nadpisanie adresu TO umieszczonego w kodzie danymi POSTed, jeśli nie jesteś ostrożny, jak postępujesz z danymi przychodzącymi z twojego formularza.Niektóre sposoby, aby temu zapobiec:
Użyj captcha. W przypadku witryn o niskim natężeniu ruchu nawet statyczne captcha (obraz, który zawiera tylko ten sam tekst za każdym razem) będzie działać bardzo dobrze.
Sprawdź HTTP,
referrer
aby upewnić się, że POST pochodzi z formularza kontaktowego. Wiele botów sfałszuje to, więc nie jest to zbyt przydatne.Użyj ukrytych pól formularza, aby oszukać botów. Na przykład utwórz pole wywoływane
phone_number
w formularzu i ukryj je za pomocą CSS w arkuszu stylów (wyświetlanie: brak). Bot zwykle wypełnia to pole (zwykle wypełnia wszystkie pola, aby uniknąć możliwych błędów sprawdzania poprawności wymaganych pól), ale użytkownik tego nie zrobi, ponieważ jest ukryty. Tak więc w POST sprawdzasz wartość w tym polu i SILENTLY nie wysyłasz wiadomości, jeśli jest w niej wartość. Uważam, że sama ta metoda jest bardzo skuteczna.źródło
Boty te ślepo próbują znaleźć każdą znalezioną formę w celu wysłania spamu. Niektóre z nich mogą mieć dane historyczne formularzy i nawet jeśli nie są one obecnie wymienione w wyszukiwarkach, roboty te mogą publikować dane pod tym adresem URL.
Załóżmy, że witryna zawiera formularz HTML do wysyłania rekomendacji do znajomego, zwykle „Powiedz smażonemu” lub „Wyślij kartkę z życzeniami”, które nie są chronione na przykład obrazem CAPTCHA. Bot może użyć tego formularza do wysyłania tysięcy e-maili ze spamem przy użyciu serwera SMTP.
Jeśli bot pochodzi z tego samego adresu IP, możesz zablokować ten adres w usługach IIS lub zaporze.
źródło
address
lubrecipient
. Zmień je na nieco bardziej niejasne, a rzadziej dostaniesz na nich spam.Jeśli potrafią jakoś dostać się na twój serwer i wszczepić na nim oprogramowanie bez Twojej uwagi, to dla nich jeden dodatkowy spambot.
Rejestracja jest o krok bliżej do przejęcia serwera, ponieważ na serwerze można zobaczyć nieco więcej plików.
Ponadto, jeśli formularz nie jest chroniony przed XSS i innymi takimi taktykami, hackowanie jest jeszcze łatwiejsze.
źródło
Zwykle próbują sfałszować niestandardowe polecenia HTML / PHP / ASP po naciśnięciu przycisku przesyłania, który jest używany jako backdoor dla trojanów itp.
źródło
Spam w komentarzach jest jednym z powodów. Próbują dodać wiele linków w komentarzach na blogu, na przykład w celu podniesienia rangi strony.
źródło
Niektóre z nich wydają się po prostu wypełniać dowolny formularz, który widzą, linkami do stron pornograficznych, mając nadzieję, że gdzieś, linki w formularzu pojawią się na twojej stronie i zostaną przechwycone przez Google.
Miałem dużo szczęścia w blokowaniu botów dzięki niestandardowym regułom mod_Security.
źródło