Komentarze – OpenID i walka ze spamem

Uwaga: ten wpis powstał dawno temu. Istnieje spora szansa, że nie odzwierciedla obecnych poglądów i opinii autora.

Wszystko wskazuje na to, że od teraz możecie komentować wpisy na “silva rerum” przy użyciu OpenID. Yaay! :)

Logo OpenID

Użyłem pluginu WordPress OpenID Plugin z VerseLogic, bo polecany przez smoka OpenID Comments for WordPress najwyraźniej ma problemy z obsługą przekierowań w pliku yadis.xrdf więc za dużego wyboru nie miałem :)

W razie natrafienia na jakiś błąd z tym ustrojstwem związany proszę o informacje i z góry dziękuję.

***

Przy okazji pisania o technicznych zagadnieniach związanych z komentarzami na blogu dorzucę ze dwa słowa na temat walki ze spamem.

Niedługo po przenosinach z Joggera na WordPress zaczęły się pojawiać spamowe komentarze. Wtedy znalazłem wtyczkę Spam Karma, rozwiązanie któremu jestem wierny do dzisiaj. Sprawdza się nieźle, nawet gdy w szczycie musiała sobie radzić z ponad setką spamów dziennie. Wiem, że to i tak niedużo, ale taka popularność mi zdecydowanie wystarcza – i tak miałem problemy z przeglądaniem wyłapanych komentarzy w poszukiwaniu false positives (ze dwa razy się zdarzyły).

Rozglądając się po sieci za innymi rozwiązaniami trafiłem na plugin Bad Bahavior, odcinający spambotom dostęp do strony. Gdy się okazało, że może uzupełniać Spam Karmę nie zastanawiałem się dłużej. Teraz SK zajmuje się co najwyżej kilkunastoma spamami dziennie, a BB blokuje około pięciuset prób tygodniowo. Zrobiło się przyjemnie. Do czasu.

Ostatnio pojawiły się spamy, których nie blokuje BB, a Spam Karma wrzuca do moderacji. Właściwie nic strasznego – ot co jakiś czas trzeba kliknąć na przycisk wrzucający wszystkie moderowane do spamów i po sprawie. Nic strasznego, ale upierdliwe to jednak jest.

Wszystkie te spamy pojawiają się pod postami mającymi przynajmniej miesiąc-dwa, dlatego pomyślałem o automatycznym wyłączaniu komentowania wpisów starszych niż np. 30 dni. Znalazłem nawet odpowiednią wtyczkę… i się zawahałem. Ktoś przecież może chcieć dopisać coś do starszego wpisu, czasem się to przecież zdarza. Co prawda nie za często, ale zdarza. Dlatego się zastanawiam – z jednej strony ułatwiłoby mi to życie i utrudniło życie spamerom, ale z drugiej strony uniemożliwiam Czytelnikom reakcję na posty…

No i stąd właśnie moje pytanie – co sądzicie o takim rozwiązaniu? Będę wdzięczny za wszelkie opinie na ten temat.

22 odpowiedzi na „Komentarze – OpenID i walka ze spamem”

  1. Awatar Hadret

    Lepszy, IMO, od SpamKarmy jest Akismet. Co do zamykania komentarzy w starych wpisach – bad idea :]

  2. Awatar devnul

    test open id ;) – działa?

    a co do komentarzy – to może przy starszych niż miesiąc dawać pole w stylu przepisz kod z obrazka albo ile jest 5+3 itp?

  3. Awatar Riddle

    Zamykaj i tak tego nikt nie komentuje. No chyba, że masz jakieś wpisy, na które ludzie się łakomią z Google. Choć jak ktoś zachce, to możesz dać maila swojego pod takim postem.

  4. Awatar Łukasz Horodecki

    Hmmm… widzę że sam znalazłem jeden błąd, ale nie we wtyczce od OpenID, tylko w Get Recent Comments, która odpowiada za listę ostatnich komentarzy. Nie pojawiają się na niej komentarze podpisane OpenID… :/

  5. Awatar gshegosh

    Nie blokuj komentowania, blokuj spamerów :)

    Ja zauważyłem, że spamboty w ciemno atakują wp-comments-post.php który to zbiera formularz komentarzy i postuje je do bazy.

    Ponieważ WordPress jest bardzo popularny, spamboty są przystosowane do domyślnego formularza.

    Zabezpieczyłem testowo jeden z moich serwisów (karko.net – możesz zajrzeć w źródło jak chcesz) w następujący sposób:

    1. Fragment z textarea zamieniłem na:

    <p><textarea name="komentarzyk" id="komentarzyk" cols="60" rows="6" tabindex="4"></textarea></p>

    <p style="display: none"><textarea name="comment" id="comment" cols="1" rows="1" tabindex="100"></textarea></p>

    (jak widzisz, standardowe, atakowane przez spamboty pole comment ukryłem CSSem przed użytkownikami, a dodałem własne o ID=komentarzyk (spamboty tego nie zgadną :)

    2. W wp-comments-post.php wprowadziłem taki fragment:

    $comment_content = trim($_POST['komentarzyk']);
    $comment_antispam = trim($_POST['comment']);

    i dalej

    if ('' != $comment_antispam)
    die( 'Kombinowanie w formularzu komentarzy jest niewskazane ;) "Trochę" nie lubię spamu :) Wróć do poprzedniej strony' );

    Działa to na tej zasadzie, że spamboty w ciemno wypełniają pole o comment, a nie wypełniają pola komentarzyk. Kod WordPressa jest zmieniony tak, by zamiast z pola comment brać wpis z pola komentarzyk. Ponadto, jeśli ktoś wypełni pole comment (które ma display:none, więc użytkownik go raczej nie widzi), komentarz nie jest dodawany.

    Jest to rozwiązanie tak skuteczne, że Spam Karma jest bezrobotna (dotąd nie mam w niej ANI JEDNEGO spamu). W wolnej chwili napiszę kiedyś plugin do tego, ale póki co rozwiązanie jest proste do wprowadzenia ręcznie.

  6. Awatar MySZ

    Nie wiem jak u Ciebie, ale u mnie ludzie często dopisują coś do starych tematów, więc nie pchałbym się w blokowanie komentarzy w starszych wątkach.

  7. Awatar http://oleczeq.openid.pl/

    Jeśli Ci to na serio przeszkadza – blokuj stare wpisy. Czytają je zazwyczaj jedynie internauci, którzy wpadają na bloga przez Google ;)

  8. Awatar Siergiej

    Widziałem gdzieś takie rozwiązanie które pyta się ile to jest 2+5 i podobne pytania zadaje, może to było by rozwiązaniem – zawsze lepsze to niż captha.

  9. Awatar brocha

    test openID wordpress

  10. Awatar wentuq

    Nie wyłączaj komentowania dla przychodzących z Google bo to chyba duża rzesza użytkowników. Proponuje obejrzeć Sblam!

  11. Awatar trójkąt

    Ja bym nie wyłączał. Sam często komentuję stare wpisy.

    BTW. Trzeba było nie uciekać z Joggera to byś nie miał problemu :P

  12. Awatar http://blog.jajcus.net/

    To mi się podoba, wystarczyło, że poprosiłem w komentarzu o OpenID i jest. ;-)

  13. Awatar Łukasz Horodecki

    gshegosh: ciekawy pomysł, czekam na plugin :)

    Hadret, wentuq: nie chciałbym zdawać się na rozwiązania na innych serwerach, dlatego nie korzystam z Akismet i Sblam.

    trójkąt: za to byłbym skazany na captcha? Dziękuję, wolę swoje problemy.

    Jajcuś: to nie Twój urok zadziałał, tylko wzmianka o Twojej Żonie :p

    Dziękuję wszystkim za komentarze – poczytałem je, rozważyłem za i przeciw, no i przekonaliście mnie: zdecydowałem się nie wyłączać możliwości komentowania starszych wpisów – rzeczywiście mam kilka takich postów, pod którymi komentarze pojawiają się nawet prawie rok po publikacji.

    Wchodzący z wyszukiwarek to u mnie prawie 3/4 odwiedzających, więc nie będę ich pozbawiał możliwości skomentowania czegoś co ich zainteresuje. Przecierpię te kilka dodatkowych kliknięć tygodniowo :)

  14. Awatar gshegosh

    No to jest plugin (niestety, jeden pliczek WordPressa i tak trzeba ręcznie modyfikować, ale to prosta zmianka jest) do mojej anty-spamowej metody. Zapraszam.

  15. Awatar Łukasz Horodecki

    gshegosh: Z przyjemnością potestuję w najbliższej wolnej chwili. Dzięki!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *