
Continuiamo con la miniserie di Camu: dopo l’introduzione al file .htaccess, andiamo a creare il plugin che lo modificherà.
Nella serie precedente abbiamo visto quale sia il meccanismo su cui si basano i plug-in: i ganci. Associati alle azioni che avvengono in WordPress, ad essi possono essere attaccate funzioni personalizzate che fanno ciò che desideriamo.
L’idea ha avuto così tanto successo che gli stessi plug-in hanno iniziato ad usarla, mettendo a disposizione i propri hooks. Uno di questi è Akismet, noto filtro antispam gratuito per WordPress.
Cercando in rete, pare che non molti sanno che Akismet fornisce alcuni agganci, intorno ai quali è possibile sviluppare altre funzioni che ne arricchiscono le potenzialità. Nel nostro caso, ad esempio, attaccheremo una funzione al gancio akismet_spam_caught, che viene invocato subito dopo che il guardiano ha pizzicato un commento di spam.
Di fatto, la nostra funzione non fa altro che aprire in scrittura il file .htaccess, di cui ho parlato la scorsa volta, ed aggiungere in fondo (append, direbbero gli inglesi) una nuova riga con le informazioni sul malintenzionato di turno:
$data_corrente = date('Ymd H:i');
$percorso_htaccess = 'QUI INDICA IL PATH ASSOLUTO DOVE SI TROVA IL TUO .htaccess';
// Ad esempio una cosa tipo /home/mhd-01/miosito/htdocs/.htaccess
file_put_contents($percorso_htaccess, 'SetEnvIf Remote_Addr "^'.str_replace('.','\.',$_SERVER['REMOTE_ADDR'])."$\" bruttoceffo=1 # $data_corrente\r\n", FILE_APPEND);
}
Agganciamo quindi la funzione ad Akismet:
In questo modo, la prossima volta che il “brutto ceffo” si presenterà a bussare alla porta del server web, nessuno gli aprirà.
I più attenti avranno osservato che in tutto questo procedimento non è previsto un meccanismo di perdono, e che di fatto la lista nera tende a crescere all’infinito. In effetti, con un po’ di buona volontà, è possibile scrivere un plug-in più articolato in grado di togliere un indirizzo dalla lista nera, consentendogli di nuovo l’accesso al sito (in fondo neppure Akismet è infallibile).
Ma questo esula dall’argomento che volevo affrontare in questa nuova miniserie, quindi al momento ti toccherà modificare manualmente il file .htaccess cancellando (o commentando con il cancelletto) le righe corrispondenti agli indirizzi che vuoi “perdonare”.
Nel frattempo puoi scaricare qui il codice sorgente del plug-in:
WordPress Blocca IP (632 bytes) - scaricato 929 volte
La miniserie continua:
Autore: Camu di DueChiacchiere




solo una curiosità ma doce dovrei mettere il file appena scricato?
ciao grazie