Pamiętam stronę zamkniętą z powodu niewłaściwego użytkowania i zastanawiam się, czy boty mają tę część. Jeśli bot publikuje coś na mojej stronie, w jaki sposób mogę z tym walczyć? Myślałem o ustawieniu niektórych plików cookie i zmianie plików cookie za pomocą JavaScript + sygnatury czasowej i znaku (więc wczorajszych plików cookie nie można używać dzisiaj ani w przyszłym tygodniu).
Jestem pewien, że większość ludzi / botów po prostu użyłaby innej strony zamiast włączać JavaScript w swoim bocie.
Co jeszcze mogę zrobić? Myślę o codziennym limicie POST i honeypocie dla ogólnych botów, które po prostu losowo wysyłają spam.
źródło
John Conde przedstawia wiele dobrych podejść. Problem z wyborem techniki anty-bot / antyspamowej polega na równoważeniu skuteczności i wygody. Byłoby naprawdę niewygodne wypełnianie CAPTCHA za każdym razem, gdy chcesz opublikować komentarz lub wiadomość, ale jeśli potrzebujesz tylko CAPTCHA podczas rejestracji, to czasami nie powstrzymuje to spamerów.
Niektóre techniki pasywne są dobrą alternatywą, ponieważ nie wymagają żadnego działania człowieka. Problem polega na tym, że boty stają się coraz bardziej wyrafinowane, a jeśli boty potrafią rozwiązać CAPTCHA, to z pewnością mogą przetwarzać JS i CSS. Musisz więc ćwiczyć odrobinę pomysłowości, na przykład używać mniej oczywistego CSS, aby ukryć swoje pola pułapek.
Ale w oparciu o twoje pytanie, myślę, że prawdopodobnie zdajesz sobie sprawę, że nie chodzi o to, aby stworzyć witrynę odporną na boty, ale po prostu stworzyć wystarczająco odstraszający element, aby użytkownicy botów wybrali inne łatwiejsze cele. To, co jest tutaj wymagane, będzie się różnić w zależności od witryny i prawdopodobnie będzie wymagać testów i błędów. Najpierw spróbuję najmniej natrętnych technik.
Wreszcie, innym sposobem na usunięcie spamu z witryny jest użycie moderacji równorzędnej w celu usunięcia komentarzy przesłanych przez bota lub ręcznie przesłanego spamu.
źródło
Jak wspomniał John Conde w swoim # 1) i wspomniałeś, honeypot może działać bardzo dobrze w większości przypadków i większości stron internetowych. Jeśli kiedykolwiek zrobi to bot, możesz po prostu zastosować jedną z innych metod, o których wspomniał John. Ale szczerze mówiąc, jeśli Twoja witryna ma niski lub średni ruch, to powinno wystarczyć.
Przykład, jeden z moich ulubionych:
Teraz, gdy formularz zostanie przesłany, niezwykle wysoki odsetek botów wypełni zarówno „email”, jak i „adres_e-mail”, ale ludzie wypełnią tylko ten, który widzą, „e-mail”, a nie „adres_e-mail”. Zatem w kodzie `/ process-form 'musisz tylko sprawdzić, czy adres e-mail jest (nie) pusty do weryfikacji.
Prosty i skuteczny.
źródło