This website is now static html, I have no time to write anything and Wordpress has more security holes than a Swiss cheese, and so the migthy wget -m replaced the ugly php. For sure there will be problems with this new version, but that is life.
show hide sidebar
Some advices, read carefully:
Se vuoi essere alla moda ed avere un blog tutto tuo mi permetto di consigliarti dreamhost, se usi il codice DAT hai pure lo sconto (dettagli).



WordPress Mu e gli spam blog. Una soluzione per piattaforme a basso traffico.

Ho un’installazione di WordPress Mu (versione 1.3 se non ricordo male) sulla quale lascio libera la possibilità di creazione di account utente e di blog. La piattaforma ospita una trentina di blog e, grazie anche ad un argomento principale molto di nicchia, non sono molti i nuovi blog registrati mensilmente.

Nonostante un basso traffico mi trovo comunque a dover affrontare orde di IP cinesi che tentano di registrare una quantità infinita di splog (spam blog). I vari plugin di captcha non sono affatto sufficienti (ne trovate alcuni qui http://wpmudev.org/plugins.php).

Ovviamente è banale cancellare uno splog appena lo si individua, il problema è che tra il momento di creazione e l’effettiva cancellazione può passare diverso tempo (dipende ovviamente da quanto frequentemente controllo la posta). In questa finestra temporale ho un blog sulla mia piattaforma che linka spudoratamente siti di Cia1is oppure WoW Gold. Tutto questo mi infastidisce.

Per questo motivo ho deciso di mettere mano al codice sorgente di WordPress Mu (che per gran parte è condiviso con Worpdress) e cercare di arginare il problema.

La soluzione proposta prevede la riscrittura di alcune funzioni nel file wp-signup.php in modo che venga inibita la possibilità di registrare direttamente un blog sulla piattaforma. In questo modo gli spammer non possono più interagire direttamente con le strutture dati che memorizzano i blog. E gli utenti “buoni”?

Ogni volta che un utente (o anche uno spammer) registra un nuovo blog viene inviata una mail, con tutti i dati inseriti dall’utente, all’amministratore della piattaforma; sarà quest’ultimo a creare a mano il blog, ovviamente solo se ritenuto valido (la creazione di un blog è facilmente eseguibile dal pannello di amministrazione di WordPress Mu).

Passiamo ora all’aspetto tecnico.

Le funzioni in wp-signup.php da modificare sono diverse: dovete cercare tutte le funzioni che creano un nuovo utente, un nuovo blog oppure un nuovo blog per un utente esistente.

Per fare un esempio si veda la funzione validate_another_blog_signup(). Verso la fine si trova una chiamata a wpmu_create_blog(), che si occupa della creazione di un blog, seguita da una chiamata a confirm_another_blog_signup(), che ha il compito di inviare una mail all’utente con i dati di accesso.

Per impedire agli utenti di interagire direttamente con il processo di creazione blog ho commentato la chiamata a wpmu_create_blog() e riscritto la funzione confirm_another_blog_signup(). Inoltre, per ricevere una mail ogniqualvolta un utente cerca di registrare un blog ho aggiunto una semplice chiamata alla funzione mail().

Il codice sorgente adesso è simile a questo:

mail('e-mail@amministratore-piattaforma.net', "Richiesta di attivazione altro blog", 'dominio: ' . $domain . ',path: ' . $path . ',titolo: ' . $blog_title . ',utente: ' . $current_user->id . ',meta: ' . $meta);
//      wpmu_create_blog($domain, $path, $blog_title, $current_user->id, $meta);
confirm_another_blog_signup_hack($domain, $path, $blog_title, $current_user->user_login, $current_user->user_email, $meta);

dove la funzione confirm_another_blog_signup_hack() è così definita:

function confirm_another_blog_signup_hack($domain, $path, $blog_title, $user_name, $user_email, $meta) {
?>
<h2><?php printf(__('Abbiamo ricevuto la tua richiesta di attivazione. Grazie.')); ?></h2>
<p><?php printf(__('Appena il tuo blog verr&agrave; approvato riceverai una mail di conferma.')); ?></h2>
<?php
do_action('signup_finished');
}

se si ripetono queste modifiche per tutte le funzioni interessate si avrà una piattaforma nella quale sarà solo l’amministratore a poter creare i blog su esplicita richiesta degli utenti. Per ovvi motivi è opportuno modificare il processo di signup per segnalare come la creazione dei blog non sia immediata.

Per ora mi trovo bene con questo metodo che mi evita di dover cancellare 6 o 7 splog al giorno (infatti mi basta ignorare le richiesta di creazione blog se fatta da uno spammer) a fronte di 2 o 3 richieste valide al mese.

1 Risposta »


da vicino

  1. Antares

    Io ho usato una tecnica piu’ pratica ma che ti assicuro li ha sterminati, ho preso tutti gli ip range dove in genere stanno i proxy o china rompiscatole e li ho bannati, avro’ perso un 4/5% di utenti buoni, ma il risultato è garantito.

RSS feed for comments on this post. TrackBack URI

Qui puoi lasciare un commento, non che ci tenga nè che mi interessi la tua opinione. Tu prova a scrivere qualcosa e poi vediamo ...

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)


-
order buy buy buy