Trilema antispam redux

Sunday, 28 November, Year 2 d.Tr. | Author: Mircea Popescu

Ingaduiti-mi sa va impartasesc cite ceva din experienta de-a fi bloger de-asta de succes sau cum naiba se zice :

comment-spammer-1s

Bun asa ? Cit numarati in ora aia, de la 10:02 la 10:50, sa tot fie fo 11 spamuri ? Mnoa, ce frumos, iata ca dupa lupte seculare care au durat un an si sase luni, adica din 24 Mai 2009, cind am scris articolul precedent pe acasta tema, spamerii au reusit in cele din urma sa treaca de metodele descrise acolo, in principal aia cu $suffix = substr(md5(date(’Y-m-d’).”salt.no,rly.salt.”),0,6);

In tot acest interval am primit poate doua mii de spamuri, in marea majoritate facute cu mina, ceea ce este totusi o realizare pentru un blog care nu foloseste akismet, desi este cel mai traficat blog din Romania.

Ziceam atunci

Si cu asta ma gandesc c-am sfarsit-o cu spamul pe blog macar inca 5-6 luni. Noi sa fim sanatosi.

Ei, au fost 18 luni, nu 5-6, ce-i drept, dar totusi iata ca toate lucrurile bune trebuie sa aiba un sfirsit, si nici asta nu face exceptie. Ce ne facem de-acum incolo ? Introducem si noi akismet, sa pierdem comentarii legitime, ca restu' ciurdei ? Parca nu prea. Si atunci ?

Pai, hai sa vedem... oare cum procedeaza dujmanul ? A mai fost unul pe care l-am prins atunci cu un regexp in htaccess, poate merge.

comment-spammer-2

Ei, hai sa tragem aer in piept si sa admiram frumusetea mizeriei. Este ca-i perfect facut ? Direct pe articol, al carui titlu/url il cunoaste evident dintr-o sesiune de spidering anterioara. Dupa care pe wp-comments-post, cu referrer, cu tot ce se cere. Ce ne facem ?

Pai ce sa ne facem, iaca, ne facem in doi pasi :

Pasul I. Editam comments.php din wp-content/themes/[numele temei]/

    Dupa

    <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></p>

    adaugam

    <input type="hidden" name="comment_post_time" value="<?php echo time(); ?>" /></p>

Pasul II. Editam wp-comments-post.php din root

    Inainte de

    // If the user is logged in
    $user = wp_get_current_user();

    adaugam

    ifi wp_die( __('Sorry, we do not accept comments from spammers.') );

Mnoa ia sa vedem, cite luni de liniste ne asigura smecheria astalalta ?

PS. Rogu-va daca tot ati citit lasati si-un comentariu, ca sa nu mai trebuiasca sa verific eu ca n-am stricat oarece. Va multumesc :)

PPS. Notam aici o bucatica de SQL care se poate dovedi utila :

    SELECT comment_author_IP FROM `comments` WHERE `comment_date_gmt` > '2010-10-30 03:51:27' AND `comment_approved` LIKE 'spam' ORDER BY `comments`.`comment_author_IP` ASC
———
  1. time() - ($_POST['comment_post_time']) < 2)||($_POST['comment_post_time'] == 0 []
Category: Meta psihoza
Comments feed : RSS 2.0. Leave your own comment below, or send a trackback.

10 Responses

  1. pletzalcoatl`s avatar
    1
    pletzalcoatlinsigna de criptograf 
    Sunday, 28 November 2010

    *~@* un comentariu *@~*

  2. Mircea Popescu`s avatar
    2
    Mircea Popescu 
    Sunday, 28 November 2010

    Hei, ce ti-o patit blogu' ?!

  3. pletzalcoatl`s avatar
    3
    pletzalcoatlinsigna de criptograf 
    Sunday, 28 November 2010

    Shhh!!

  4. Imi aduc aminte de momentele cand nu foloseam Akismetul si nu foloseam nicio alta solutie, dar am stat aproape o saptamana sa sterg cate 200 de comentarii spam, majoritatea generate automat, de pe blog.

  5. Mircea Popescu`s avatar
    5
    Mircea Popescu 
    Sunday, 28 November 2010

    @i4ever Eu primesc cam unul, hai maximum 2-3 pe zi. Avind in vedere ca in aceeasi zi primesc vreo 50 normale, din care cam 3-4-5 au nevoie de moderare ca ori contin link-uri ori sunt de la oameni noi, pot zice ca nu ma deranjeaza mai deloc.

    Deocamdata cu metodele astea spamul automat este cam 20-50% din spamul manual. Ceea ce...

  6. io nu-s sigur c-am inteles mecanismul

  7. Mircea Popescu`s avatar
    7
    Mircea Popescu 
    Monday, 29 November 2010

    Prima parte, comments.php, care se ocupa de tiparit html-ul care tine de postari, sub articole, inclusiv casuta de comentarii, adauga un cimp custom care contine timpul curent.

    wp-comments-post.php, care se ocupa cu procesat comentariile noi, verifica daca exista cimpul respectiv in form-ul pe care noul comentariu pretinde ca l-a completat. Daca nu se potriveste cu asteptarile trimite comentariul la gunoi.

  8. Mihai Pintilie`s avatar
    8
    Mihai Pintilie 
    Monday, 29 November 2010

    il tinem minte pentru cand om avea galeata de spam.

  1. [...] Trilema numarul e ceva mai mic dar destul de aproape, in zona 90-95%, pentru ca eu folosesc niste metode antispam foarte eficiente. Pe alte bloguri comentariile reale pot fi 10% sau chiar sub din cifra [...]

  2. [...] Da’ asta nu-i nimic : douaji de spamuri in patru ore. Tineti cont ca io am mega-ultra-extra antispamu’ facut de mina mea, asa ca poate ajung comentarii ceva intre 0,1% si 0,0% din ce incearca dujmanii sa bage. Pe scurt, [...]

Add your cents! »
    If this is your first comment, it will wait to be approved. This usually takes a few hours. Subsequent comments are not delayed.