Spam blogowy pokonany
Jakiś czas temu Emila na swoim blogu opublikowała notkę, w której narzekała na spam przychodzący na jej bloga. Biorąc pod uwagę, że ja też ostatnio dostaję go masę, postanowiłem coś z tym zrobić.
Kilka dni temu, zacząłem przerabiać swojego bloga oraz logować wszystkie zapytania POST na niego wysyłane. Po analizie danych wysyłanych przez boty postanowiłem wprowadzić dwa zabezpieczenia: zabezpieczenie zrobione specjalnie na boty spamujące wordpressy, oraz zabezpieczenie na “całą resztę”. Okazało się, że skuteczność rozwiązań, które wprowadziłem jest 100% (od kilku dni nie dostałem ani jednego spamu). Dodatkowo są one przezroczyste dla użytkownika i nie używają żadnych filtrów, które mogły by przypadkowo skasować “dobry” komentarz.
Zabezpieczenie na boty Wordpressowe
Okazało się, że większość botów wysyłających spam tylko na blogi “napędzane” skryptem Wordpress jest dość głupia. Wchodzą one na stronę komentarzy i wysyłają standardowe zapytanie POST dla wordpressa, nie patrząc nawet w jaki sposób formularz jest zbudowany. Dlatego aby pozbyć się tego robactwa wystarczyło zmienić nazwy pól w formularzu. Tym samym zapytanie POST wysyłane przez boty stało się niepoprawne i można je łatwo wyfiltrować.
Zabezpieczenie przeciwko “całej reszcie”
Całą resztę też dosyć łatwo oszukać. Ja zrobiłem to w następujący sposób: skopiowałem pole, w którym wpisuje się treść komentarza. Dałem mu atrybut display: none i opis (dla przeglądarek tekstowych): to pole pozostaw puste. W oryginalnym polu zmieniłem nazwę na “spam”. Jak to działa?
Większość botów wypełni wszystkie pola, łącznie z tym którego zwykły użytkownik nie wypełni, bo albo go nie zobaczy, albo przeczyta opis “tego nie wypełniaj”. Wszystkie te boty można z łatwością wyfiltrować. Co bardziej cwane boty mogą “nauczyć” się takie zabezpieczenie omijać. To właśnie dlatego pole, w którym trzeba wpisać treść komentarza ma prowokacyjną nazwę “spam”. Jeśli bot będzie miał jakieś pole ominąć, to być może ominie właśnie te i czeka go “muka”.
Życzę powodzenia w zabezpieczaniu własnych blogów. Możecie oczywiście zastosować filtry. Ja je jednak niezbyt lubię.