Jak zatrzymać spam w formularzu kontaktowym

Jak zatrzymać spam w formularzu kontaktowym: honeypot, pułapka czasowa, CAPTCHA | We.Inc

Zatrzymaj spam w formularzu kontaktowym na swojej stronie za pomocą pola honeypot, pułapki czasowej i darmowej CAPTCHY, takiej jak Turnstile, reCAPTCHA lub hCaptcha, weryfikowanej na serwerze. Demo na żywo.

Jak zatrzymać spam w formularzu kontaktowym

Zacznij od tanich zabezpieczeń, a uciążliwe zostaw na później. Dodaj ukryte pole honeypot, którego ludzie nigdy nie widzą, ale boty je wypełniają, odrzucaj formularze wysłane szybciej, niż człowiek zdążyłby pisać, a jeśli spam nadal się przedostaje, dodaj usługę CAPTCHA, taką jak Turnstile, reCAPTCHA lub hCaptcha, której token weryfikuje Twój serwer.

Porównanie zabezpieczeń przed spamem

Boty spamujące przeszukują sieć w poszukiwaniu formularzy i automatycznie je wysyłają. Twój serwer nie widzi, kto pisze, więc każde zabezpieczenie działa albo przez wychwycenie zachowania, którego człowiek by nie przejawił, albo przez poproszenie zewnętrznej usługi o potwierdzenie, że odwiedzający jest prawdziwy. Wypróbuj dwa pierwsze zabezpieczenia w demo, a potem skopiuj pasujące do nich sprawdzenie po stronie serwera.

Najczęściej zadawane pytania

Czym jest pole honeypot?

To pole, które znajduje się w kodzie formularza, ale jest ukryte przed ludźmi. Odwiedzający zostawiają je puste, bo go nie widzą; boty wypełniające każde znalezione pole coś w nim wpisują, co je zdradza.

Czy istnieje darmowa alternatywa dla reCAPTCHA?

Tak. Cloudflare Turnstile i hCaptcha oferują darmowe plany działające tak samo: skrypt i widżet na stronie, a potem wywołanie z serwera adresu siteverify z Twoim tajnym kluczem i tokenem odwiedzającego. Limity sprawdź na aktualnej stronie z planami każdego dostawcy.

Czy reCAPTCHA v3 wyświetla łamigłówkę?

Nie. Według dokumentacji Google wersja v3 zwraca wynik, w którym 1.0 oznacza bardzo prawdopodobną dobrą interakcję, a 0.0 bardzo prawdopodobnego bota, i zaleca zacząć od progu 0.5. To Ty decydujesz, co zrobić z niskimi wynikami.

Czy sam widżet wystarczy, aby zatrzymać spam?

Nie. Dokumentacja Cloudflare wprost stwierdza, że sam widżet po stronie klienta nie chroni Twoich formularzy. Bot może wysłać dane bezpośrednio na adres formularza, dlatego serwer musi zweryfikować token.

Dlaczego mimo honeypota nadal dostaję spam?

Niektóre boty uruchamiają prawdziwą przeglądarkę i wypełniają tylko widoczne pola, a część spamu wpisują ludzie. Dodaj pułapkę czasową, a potem CAPTCHĘ. Odrzucaj też wiadomości pełne linków, jeśli Twój formularz nigdy ich nie potrzebuje.

Dlaczego darmowe zabezpieczenia idą na pierwszy ogień

Ukryj pułapkę we właściwy sposób

Weryfikuj tokeny CAPTCHA na serwerze

Skopiuj honeypot i pułapkę czasową

Kod HTML trafia do Twojego formularza. Sprawdzenie po stronie serwera pokazujemy dla Node z Express, ale w każdym języku to logika na trzy linijki.

Formularz z polem honeypot

Klasa .hp przesuwa pułapkę poza ekran. Pole started jest wypełniane bieżącym czasem przez niewielki skrypt.

Sprawdzenie na serwerze (Node, Express)

Boty dostają tę samą odpowiedź co ludzie, więc nie mogą się dowiedzieć, które sprawdzenie je złapało.

Dodawanie Turnstile, reCAPTCHA lub hCaptcha

Wszystkie trzy działają w ten sam sposób. Poniższe szczegóły pochodzą z dokumentacji poszczególnych dostawców.

Porównanie usług CAPTCHA

Weryfikacja tokenu Turnstile (Node 18 lub nowszy)

Widżet dodaje do Twojego formularza pole o nazwie cf-turnstile-response. Przechowuj sekret w zmiennej środowiskowej.

Demo na żywo: honeypot plus pułapka czasowa

Nic nie jest nigdzie wysyłane. Kliknięcie Wyślij uruchamia te same sprawdzenia, które wykonałby serwer, tutaj, w Twojej przeglądarce.

Twoje imię

Wiadomość

Strona internetowa (zostaw puste)

Zachowaj się jak bot: wypełnij ukryte pole

Wyślij

Zacznij od nowa

Wypełnij formularz i kliknij Wyślij, aby zobaczyć, co zdecyduje sprawdzenie na serwerze.

Przyjęto: pułapka była pusta i minęło {n} s. Prawdziwy formularz wysłałby teraz wiadomość.

Odrzucono: ukryte pole miało wartość, więc wygląda to na bota. Odwiedzający i tak zobaczyłby podziękowanie.

Odrzucono: wysłano po {n} s, szybciej niż minimum wynoszące {m} s.

Ukryte pole jest tu pokazane z obramowaniem, abyś widział to, co widzą boty.

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony