Hushfort

Jak zatrzymać spam w formularzu kontaktowym bez CAPTCHA?

Autor: Eureka Studio · Zaktualizowano

Krótka odpowiedź

Zamiast CAPTCHA połącz niewidoczne testy: ukryte pole-pułapkę (honeypot), które wypełniają tylko boty, minimalny czas wypełniania, token odporny na pamięć podręczną stron oraz limity na IP i na e-mail. Wiadomości na granicy przenoś do kwarantanny zamiast je usuwać. Lokalna wtyczka może to robić dla Elementora, Contact Form 7 i WPForms bez wysyłania danych gdziekolwiek. W Hushfort ochrona wtyczek formularzy należy do Pro; darmowa wtyczka obejmuje tylko komentarze i opinie.

Kroki

  1. 1Krok 1

    Zobacz, jak boty atakują Twój formularz

    Boty wypełniają każde znalezione pole, także ukryte, którego człowiek nigdy nie widzi, albo wysyłają formularz w ogóle bez ładowania strony. Dziennik Hushfort nazywa każdy przypadek: wypełnione pole-pułapka, brak tokenu, wypełnione zbyt szybko, zbyt wiele linków.

    Tabela Dzienniki i kwarantanna Tarczy antyspamowej z wpisami z formularza kontaktowego WPForms: brak tokenu, przekroczono limit na IP, wypełnione pole-pułapka, zbyt wiele linków
  2. 2Krok 2

    Włącz Tarczę antyspamową w trybie monitorowania

    W Hushfort otwórz Tarczę antyspamową, włącz ją i ustaw Tryb na „Tylko zapisuj — tryb monitorowania, niczego nie blokuje”. Jeśli masz zainstalowany Hushfort Pro, pozostaw włączone Wtyczki formularzy i zapisz. Tarcza zapisuje, co by zablokowała, ale jeszcze niczego nie blokuje.

    Tarcza antyspamowa włączona, Tryb ustawiony na Tylko zapisuj — tryb monitorowania, niczego nie blokuje
  3. 3Krok 3

    Ustaw ciche limity (Pro)

    Ustaw krótki Minimalny czas wypełniania (3 sekundy). W Pro ogranicz też, ile wiadomości na godzinę może wysłać jeden IP (Limit na IP) lub jeden adres e-mail (Limit na e-mail). Wiadomości z większą liczbą linków niż Maksymalna liczba linków trafiają do kwarantanny.

    Limity Tarczy antyspamowej: minimalny czas wypełniania 3 sekundy, limit na IP 5 na godzinę, limit na e-mail 3 na godzinę, maksymalna liczba linków 2
  4. 4Krok 4

    Przejrzyj dziennik, potem przełącz na Blokuj

    Po kilku dniach zobacz, co wyłapał tryb monitorowania. Jeśli nie ma tam prawdziwych wiadomości, ustaw Tryb na „Blokuj (zalecane)” i zapisz.

    Tryb Tarczy antyspamowej zmieniony z Tylko zapisuj na Blokuj (zalecane) i zapisany
  5. 5Krok 5

    Prawdziwi ludzie po prostu wysyłają

    Odwiedzający pisze przez pół minuty, nigdy nie widzi ukrytego pola i wysyła. Żadnych łamigłówek, żadnych siatek obrazków.

    Odwiedzający wypełnia formularz kontaktowy sklepu demo i go wysyła; formularz odpowiada podziękowaniem za wiadomość

Dlaczego to ważne

Spam w formularzach jest głównie uciążliwy — do czasu. Zasypuje prawdziwe zapytania, uczy Cię pobieżnie przeglądać skrzynkę i może obniżyć reputację nadawczą Twojego serwera poczty, jeśli formularz wysyła automatyczne odpowiedzi. Na ruchliwych witrynach zjada też czas serwera, bo każde zgłoszenie przechodzi pełne przetwarzanie przez wtyczkę formularzy.

Typowe rozwiązanie, CAPTCHA, przerzuca koszt na odwiedzających. Rozwiązują łamigłówki, część rezygnuje, a osoby korzystające z narzędzi chroniących prywatność utykają. Większość usług CAPTCHA ładuje też kod podmiotów trzecich i wysyła dane odwiedzających poza Twój serwer.

Jest cichszy sposób. Boty zachowują się inaczej niż ludzie, a te różnice można sprawdzić po cichu:

  • Wypełniają ukryte pola. Pole-pułapka (honeypot) to pole ukryte przed ludźmi, ale widoczne w HTML-u. Człowiek zostawia je puste; bot je wypełnia.
  • Są szybkie. Człowiek potrzebuje kilku sekund na wypełnienie formularza. Bot potrzebuje milisekund.
  • Powtarzają się. Jeden IP lub jeden adres e-mail wysyłający dziesięć wiadomości na godzinę to nie klient.
  • Wklejają linki. Wiadomość z masą linków rzadko jest prawdziwym zapytaniem.

Typowe błędy

  • Blokowanie zamiast kwarantanny. Gdy test nie ma pewności, zachowaj wiadomość do przejrzenia. Usunięcie pytania prawdziwego klienta jest gorsze niż przeczytanie jednego spamu.
  • Od razu tryb Blokuj. Zacznij od kilku dni w trybie samego zapisywania. Sprawdź, co zostałoby zablokowane, zanim pozwolisz blokować.
  • Tokeny, które psują się przez pamięć podręczną. Jeśli token antyspamowy jest częścią strony z pamięci podręcznej, wszyscy odwiedzający dzielą jeden przeterminowany token. Używaj ochrony, która pobiera token przy ładowaniu strony.
  • Tylko jeden test. Samo pole-pułapka zatrzymuje proste boty. Dodaj test czasu wypełniania i limity.

Bez wtyczki

Większość wtyczek formularzy ma wbudowaną podstawową wersję takiej ochrony:

  • Formularze Elementor Pro: dodaj pole „Honeypot” z listy pól.
  • Contact Form 7: dodaj honeypot za pomocą dodatku; CF7 obsługuje też Akismet, jeśli akceptujesz wysyłanie danych do tej usługi.
  • WPForms: ma wbudowany token antyspamowy i opcjonalny honeypot w ustawieniach każdego formularza.

Prosty honeypot możesz też dodać ręcznie do dowolnego formularza, nad którym masz kontrolę:

<div style="position:absolute;left:-9999px" aria-hidden="true">
  <label>Leave this empty <input type="text" name="website" tabindex="-1" autocomplete="off"></label>
</div>
<?php
if ( ! empty( $_POST['website'] ) ) {
    wp_die( 'Spam detected.', 403 );
}

Ograniczenia: każda wtyczka formularzy robi to inaczej, zwykle nie ma wspólnego limitu dla wszystkich formularzy, nie ma kwarantanny, która wyłapie pomyłki, ani niczego dla komentarzy czy opinii. W efekcie konfigurujesz ten sam pomysł pięć razy.

Jeśli coś pójdzie nie tak

  • Przestały przychodzić prawdziwe wiadomości. Przełącz Tarczę antyspamową w tryb monitorowania, wyślij testową wiadomość i sprawdź w dzienniku, który test ją zatrzymał.
  • Formularze nie działają tylko u niektórych odwiedzających. Po włączeniu ochrony raz wyczyść pamięć podręczną stron.
  • Spam nadal się przedostaje. Obniż limit linków, dodaj słowa lub domeny do listy blokowanych albo włącz tryb ścisły dla formularzy, które powinny przyjmować tylko znanych dostawców poczty.

Z Hushfort

Tarcza antyspamowa chroni komentarze i opinie WooCommerce już w Hushfort Security, darmowej wtyczce bezpieczeństwa WordPress. Wtyczki formularzy wymagają Hushfort Pro, który dodaje do tego samego ekranu sześć popularnych (Elementor Pro, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Forminator).

  • Niewidoczne pole-pułapka, minimalny czas wypełniania i podpisane tokeny odporne na pamięć podręczną stron. Token pobiera malutki skrypt o wadze około 2 KB, bez plików cookie.
  • Pro: domyślne limity: na IP (5 na godzinę) i na e-mail (3 na godzinę); wiadomości z więcej niż 2 linkami trafiają do kwarantanny.
  • Pro: lista około 9900 domen jednorazowych adresów e-mail, własne listy blokowanych i filtry słów.
  • Pro: kwarantanna z uczeniem się przez „To nie spam”.
  • Tryb monitorowania, w którym widzisz, co tarcza by zablokowała, zanim zacznie blokować.

Bez CAPTCHA, bez zewnętrznego API, a dane z formularzy nigdy nie opuszczają Twojego serwera.

Najczęstsze pytania

Czy pola-pułapki (honeypot) naprawdę zatrzymują spam w formularzach?

Zatrzymują większość zautomatyzowanych botów, które wypełniają każde znalezione pole. Niektóre sprytniejsze boty pomijają ukryte pola, dlatego za polem-pułapką stoją jeszcze test czasu wypełniania i limity na IP.

Dlaczego warto unikać reCAPTCHA?

Utrudnia życie prawdziwym odwiedzającym, potrafi zawodzić u osób korzystających z narzędzi chroniących prywatność i wysyła dane odwiedzających do podmiotu trzeciego. Wielu właścicieli witryn uważa też, że wymaga informacji o plikach cookie.

Czy to działa z pamięcią podręczną stron?

Tak, jeśli token jest pobierany przy ładowaniu strony, a nie zapisany w HTML-u w pamięci podręcznej. W przeciwnym razie każdy odwiedzający dostaje ten sam przeterminowany token i formularze przestają działać.

Które wtyczki formularzy są obsługiwane?

W Hushfort Pro Tarcza antyspamowa obsługuje formularze Elementor Pro, Contact Form 7, WPForms, Gravity Forms, Fluent Forms i Forminator. Darmowa wtyczka obejmuje tylko komentarze i opinie WooCommerce.

Co się dzieje z wiadomością, która wygląda na spam, ale może być prawdziwa?

W Hushfort Pro trafia do kwarantanny zamiast zostać usunięta. Oznacz ją jako „To nie spam”, a zostanie dostarczona, a tarcza się na tym nauczy.

Zgłoś błąd lub zaproponuj funkcję

Twoja wiadomość trafia prosto do zespołu, który tworzy Hushfort.

Czego dotyczy?

Używany tylko do odpowiedzi.

Używamy tych danych wyłącznie, aby Ci odpowiedzieć. Prywatność