spam w komentarzach
| Po angielsku | comment spam |
|---|---|
| Którą formą pisać | po polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie. |
| Inne formy | spam komentarzowy · zaspamowane komentarze |
| Kategoria | Strony WWW, WordPress i hosting |
Spam w komentarzach to masowo dodawane komentarze z odnośnikami do obcych stron, a w WordPressie także fałszywe pingbacki i trackbacki. Obciąża stronę, zaśmieca dyskusję i może szkodzić jej ocenie w wyszukiwarce. OWASP zalicza spam komentarzowy do zagrożenia OAT-017 Spamming, które definiuje jako dodawanie złośliwych albo wątpliwych informacji do treści publicznych, prywatnych lub do wiadomości [2]. Google w zasadach dotyczących spamu wymienia spam w komentarzach na blogach jako przykład spamu tworzonego przez użytkowników [3].
Jak działa
Formularz komentarza jest publiczny i przyjmuje tekst od każdego, kto go wyśle. Spamer nie musi więc włamywać się na stronę. Wystarczy mu program, który wysyła komentarze na tysiące witryn. Taki ruch to jedna z odmian, jakie opisuje hasło złośliwe boty.
Według OWASP spam może zawierać złośliwe oprogramowanie (malware), ramki IFRAME, reklamy, skradzione treści i kod śledzący, a jego celem bywa też zakłócanie dyskusji albo manipulacja pozycjami w wyszukiwarce [2]. Dlatego spam komentarzowy łączy się z SEO spamem: linki w komentarzach mają podnieść pozycję stron spamera.
Obieg komentarza na stronie z moderacją pokazuje schemat poniżej.
Odmiany
| Odmiana | Jak wygląda | Co ogranicza |
|---|---|---|
| komentarz z linkami | krótki tekst i jeden lub kilka odnośników [1] | limit linków, moderacja |
| pingback | powiadomienie o linku z innego bloga [1] | wyłączenie powiadomień |
| trackback | powiadomienie o odnośniku z innej strony [1] | wyłączenie powiadomień |
| spam w podpisie | zoptymalizowane linki w podpisie na forum [3] | atrybut ugc |
| spam z ładunkiem | skrypt albo ramka w treści [2] | filtrowanie HTML |
OWASP wymienia obok siebie spam na blogach, forach, w komentarzach, w recenzjach, w wiki i spam odsyłaczy [2].
W WordPressie
Ustawienia komentarzy są na ekranie Ustawienia → Dyskusja. Administrator decyduje tam, czy komentarze są w ogóle dozwolone i czy strona przyjmuje pingbacki i trackbacki [1]. Jeśli przyjmuje, pojawiają się one w sekcji komentarzy pod wpisem [1].
Dokumentacja opisuje kolejne progi ochrony:
- Imię i e-mail. Wymóg ich podania zmusza spamerów do odrobiny dodatkowej pracy, ale WordPress tych danych nie weryfikuje [1].
- Tylko zalogowani. Komentować mogą wtedy wyłącznie zarejestrowani, zalogowani użytkownicy [1].
- Zamykanie starych wpisów. Po podanej liczbie dni formularz znika, a zatwierdzone komentarze zostają [1].
- Wcześniej zatwierdzony autor. Komentarz przechodzi bez moderacji tylko wtedy, gdy adres e-mail autora ma już zatwierdzony komentarz [1].
- Limit linków. Komentarz z określoną liczbą odnośników trafia do kolejki. Dokumentacja zauważa, że dawniej spamerzy wstawiali pięć, dziesięć i więcej linków, a dziś zwykle jeden albo dwa [1].
- Słowa do moderacji. Komentarz z podanym słowem w treści, nazwie, adresie URL, e-mailu, IP albo w nagłówku
User-Agentczeka w kolejce [1]. - Lista blokowanych. Do wersji 5.4 nazywała się „Comment Blacklist”; komentarze pasujące do niej są oznaczane jako spam [1]. Słowa pasują także wewnątrz dłuższych wyrazów, więc łatwo zablokować prawdziwy komentarz [1].
Filtry antyspamowe działają jako wtyczki. Akismet sprawdza komentarze i wiadomości z formularzy kontaktowych w globalnej bazie spamu [6]. Klucze są bezpłatne dla blogów osobistych, a dla firm i stron komercyjnych są płatne subskrypcje [6].
Linki w treściach od użytkowników warto oznaczać. Funkcja wp_rel_ugc(), dostępna od WordPressa 5.3.0, dodaje do wszystkich odnośników w treści atrybut rel z wartościami nofollow ugc [5].
Zagrożenia i skutki
- Ocena w wyszukiwarce. Google traktuje spam w komentarzach jako naruszenie zasad dotyczących spamu [3]. Zaśmiecone strony mogą tracić widoczność.
- Linki do szkodliwych stron. Odnośnik w komentarzu może prowadzić do strony z phishingiem albo złośliwym oprogramowaniem, co sprzyja wpisowi na czarną listę.
- Wstrzyknięty kod. Spam z ramką albo skryptem [2] jest groźny, gdy wtyczka wyświetla komentarze bez escapowania. Wtedy staje się Stored XSS.
- Obciążenie i koszt obsługi. Tysiące komentarzy w kolejce zajmują bazę danych i czas moderatora.
Jak się bronić
Najprostsza obrona to wyłączenie komentarzy tam, gdzie nie są potrzebne, na przykład na stronach usługowych. Ustawienie globalne można nadpisać dla pojedynczego wpisu [1].
- Wyłączenie pingbacków i trackbacków, jeśli strona z nich nie korzysta [1]. Pokrewny mechanizm opisuje hasło XML-RPC.
- Moderacja komentarzy od nowych autorów i limit linków [1].
- Filtr antyspamowy, na przykład Akismet [6], albo CAPTCHA na formularzu.
- Oznaczanie linków od użytkowników wartością
ugc, którą Google zaleca dla komentarzy i postów na forach [4]. WartośćnofollowGoogle zaleca wtedy, gdy strona nie chce, by wiązać ją z linkowaną stroną [4]. - Ograniczenie HTML w komentarzach i pilnowanie ról: pełny HTML może publikować tylko użytkownik z uprawnieniem unfiltered_html; zob. role i uprawnienia użytkowników.
- rate limiting albo WAF dla masowych wysyłek z jednego źródła.
Lista blokowanych słów powinna być ostatnią deską ratunku, bo usuwa też prawdziwe komentarze [1].
Historia i przykłady
Dokumentacja WordPressa sama opisuje zmianę taktyki spamerów: przeszli od komentarzy z wieloma linkami do komentarzy z jednym lub dwoma, żeby ominąć prosty filtr ilościowy [1]. W wersji 5.3.0 WordPress dostał funkcję wp_rel_ugc() do oznaczania linków w treściach od użytkowników [5]. Wraz z WordPressem 5.4 lista „Comment Blacklist” zmieniła nazwę na „Comment Blocklist” [1].
Przypisy
6- [1] Settings Discussion screen · WordPress.org
- [2] OAT-017 Spamming · OWASP
- [3] Spam policies for Google web search · Google Search Central
- [4] Qualify your outbound links to Google · Google Search Central
- [5] wp_rel_ugc() — Function Reference · WordPress.org
- [6] Akismet Anti-spam: Spam Protection · WordPress.org