Punkt wyjścia: spam, który wraca
Jeden z moich serwisów z poradnikami przyciągał spamerskie komentarze. Najpierw w kolejce moderacji i w spamie czekało ponad dwieście wpisów, rok później w bazie było ich już 450. Podobny kłopot, w mniejszej skali, miały inne strony, którymi się opiekuję: z formularzy kontaktowych do skrzynki wpadało kilka niechcianych wiadomości dziennie.
Co zrobiono
Zacząłem od wtyczki, która przy każdym komentarzu pyta zewnętrzne bazy znanych spamerów. Szybko wyszły dwie wady. Dzienny limit zapytań wyczerpywały też testy dostępności wykonywane przez monitoring, a samo odpytywanie zewnętrznych usług mogło spowalniać stronę. Wyłączyłem ją.
Potem zrobiłem trzy rzeczy:
- usunąłem nagromadzony spam jednym poleceniem na bazie danych, zamiast klikać w panelu,
- zainstalowałem Antispam Bee: wtyczkę, która rozpoznaje spam bez udziału czytelnika i prawie nie wymaga konfiguracji,
- w formularzach kontaktowych dodałem honeypot, czyli ukryte pole, które wypełniają wyłącznie boty.
Efekt
Po siedmiu dniach nie pojawił się ani jeden nowy spam, a po ponad dwóch tygodniach wciąż było zero. Na mniejszej stronie, gdzie czekało 50 spamów, wystarczyło połączenie wtyczki i honeypota: po kilku dniach także zero. Czytelnicy nie dostali żadnych obrazków do rozpoznawania ani zagadek do rozwiązania.
Wnioski
- Najlepsze zabezpieczenie nie obciąża ani strony, ani użytkownika.
- Ochrona przed spamem (honeypot plus Antispam Bee) trafiła na moją listę kontrolną uruchomienia każdej nowej strony.
- Zewnętrzne usługi sprawdzające reputację trzeba liczyć razem z ruchem robotów, który sami generujemy, na przykład przez monitoring.
Jeśli u Ciebie wygląda to podobnie, zobacz problem formularz zalewa spam oraz usługi strona zgodna z RODO i poczta, która dochodzi do klientów i opieka WordPress.
