Bloccare l’accesso di Spammer e Troll modificando il file htaccess
Inserito da: Matteo Dini | il giorno: 29 mag, 2009 | Commenti 7
Link sponsorizzati

Il sito web è invaso da Spammer e Troll che sfruttano la banda del servizio hosting e inondano la sezione dei commenti con messaggi indesiderati ?
Tra i metodi più utilizzati per bloccare certi commenti è affidarsi ad un servizio come Akismet o installare l’ottimo plugin su WordPress “Hiddy Antispam” per limitare l’accesso ai vari bot.
Un’alternativa, senza dubbio molto efficace in quanto risolve il problema “a monte“, è negare l’accesso ad uno o più indirizzi IP modificando direttamente il file .htaccess presente comunemente nei server Apache.
Si tratta di un file di configurazione dal quale è possibile effettuare molteplici operazioni come il reindirizzamento ed una miriade di altre funzioni.
In questo articolo ci limiteremo a descrivere come bloccare l’accesso ad uno o più determinati indirizzi IP verso il nostro sito, facendo trovare una “porta chiusa” al visitatore indesiderato che non potrà quindi far alcuna operazione dal nostro amato sito web.
E’ necessario innanzitutto trovare l’indirizzo IP incriminato che si dovrà inserire in una sorta di “blacklist” dentro il file .htaccess.
WordPress per questo fa un gran lavoro, basta recarsi dal lato admin nella sezione “commenti” per visualizzare sotto il nome di ogni persona, troll o spammer che siano, l’indirizzo IP associato.
E’ molto importante essere certi che l’indirizzo IP dello spammer sia di tipo fisso e/o che faccia parte di un predeterminato range. Se si tratta infatti di un indirizzo IP dinamico, che cambia ad ogni connessione, è preferibile non inserire questo IP nel file .htaccess per evitar di bloccare l’accesso futuro a visitatori realmente interessati alle pagine del nostro sito web.
Stesso discorso vale anche se l’accesso proviene da un server Proxy, dove l’IP può essere condiviso da spammer ed utenti tradizionali. In questo modo verrebbe limitato l’accesso anche a persone normalmente autorizzate.
In definitiva, prima di inserire un determinato indirizzo IP nel file .htaccess per bloccarne l’accesso, bisogna essere certi al 100% che questo IP appartenga unicamente a spammer e troll vari, viceversa è assolutamente consigliabile utilizzare i normali servizi e plugin anti-spam, senza andar a toccare il file .htaccess.
Individuare il file .htaccess
Come detto in precedenza, il file .htaccess è dedicato alla configurazione del server, pertanto può essere ripetuto in più cartelle per impostare prederminate operazioni all’interno delle varie directory.
Il file che a noi interessa è quello posizionato nella root principale, in questo modo andremo ad impostare istruzioni che vincoleranno tutto il contenuto del webserver.
WordPress, in fase di installazione, crea automaticamente il file .htaccess all’interno della root principale.
Questo file è normalmente nascosto dai vari client FTP, per visualizzarlo si dovrà pertanto impostare il client FTP preferito affinchè visualizzi anche i file nascosti.
Con FileZilla, ad esempio, basterà abilitare la voce “visualizza file nascosti” direttamente sotto il menù “Server“.
Possiamo anche utilizzare il client FTP online, normalmente fornito dal provider / mantainer del servizio hosting per operare direttamente online, lato server, con il .htaccess.
Una volta individuato il file .htaccess nella root, è buona norma effettuare immediatamente una copia di backup in modo tale da poter effettuare un ripristino indolore se qualcosa non dovesse funzionare correttamente.
Modifica del file
Il file .htaccess non è altro che un file di tipo testuale che potrà essere modificato con un comune text editor come Notepad (il Blocco Note su Windows…). Bisogna ad ogni modo accertarsi di non salvarlo con estensione .TXT per ottenere un file del tipo “.htaccess.txt”. In questo modo, il server non riuscirà ad interpretarlo in quanto lo vedrà come un classico file .TXT.
Se la modifica viene effettuata direttamente con un client FTP online, come quello incluso nel proprio servizio hosting, normalmente la modifica potrà essere effettuata in linea con l’editor online, senza dover necessariamente scaricare il file nel computer.
Se non sono state effettuate in precedenza modifiche ci ritroveremo un contenuto di questo genere, creato da WordPress in fase di installazione:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Come si può notare, WordPress applica già delle regole di riscrittura indirizzi utilizzando direttamente il .htaccess.
Le parole seguite dopo il simbolo del cancelletto (#) non sono altro che i commenti lasciati dallo script di WordPress, si potranno quindi aggiungere ulteriori commenti nella stessa riga del cancelletto.
Cosa aggiungere
Per bloccare un determinato indirizzo IP, è sufficiente aggiungere le relative istruzioni dopo la sezione “#END WordPress“, avendo cura di lasciare anche un spazio bianco per una migliore interpretazione successiva.
Di seguito ecco cosa aggiungere nel proprio .htaccess. Le parentesi con il relativo interno dovranno essere sostituiti con uno o più indirizzi IP reali e/o nomi di host:
# INZIO blocca IP di spammer e troll
order allow,deny
deny from {INDIRIZZO IP}
deny from {SECONDO INDIRIZZO IP, UNO PER LINEA...}
deny from {NOMI HOST COME nomehostspammer.com}
allow from all
# FINE blocca IP di spammer e troll
Esempi pratici
Presupponiamo di voler bloccare l’accesso dell’indirizzo IP 188.170.120.110, si dovrà quindi inserire:
# INZIO blocca IP di spammer e troll order allow,deny deny from 188.170.120.110 allow from all # FINE blocca IP di spammer e troll
Se vogliamo invece bloccare l’accesso anche ad un altro indirizzo IP, in aggiunta al precedente, riportante il numero 99.122.100.10, si dovrà scrivere:
# INZIO blocca IP di spammer e troll order allow,deny deny from 188.170.120.110 deny from 99.122.100.10 allow from all # FINE blocca IP di spammer e troll
Se vogliamo bloccare l’accesso anche ad un determinato nome host con il nome d’esempio “spammerhost.com“, basterà inserire:
# INZIO blocca IP di spammer e troll order allow,deny deny from 188.170.120.110 deny from 99.122.100.10 deny from spammerhost.com allow from all # FINE blocca IP di spammer e troll
Esempio pratico con file .htaccess finale, incluse le istruzioni precedenti di WordPress ed un singolo indirizzo IP bloccato
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# INZIO blocca IP di spammer e troll order allow,deny deny from 188.170.120.110 allow from all # FINE blocca IP di spammer e troll
A questo punto il file è correttamente modificato e pronto il salvataggio nella root principale della webdirectory.
Qualsiasi indirizzo IP aggiunto alla lista di esclusione verrà bloccato durante l’accesso al server ed il visitatore (o bot o chicchessia) visualizzerà il codice di errore 403.
Un tipico messaggio potrà essere:
- Forbidden
- Non ci sono permessi per accedere a questo server
- You don’t have permission to access / on this server.
(etc)
Conclusione
Come già specificato all’inizio di questo articolo, il blocco di indirizzi IP lato server appartenenti a spammer e troll è senza dubbio un metodo efficace per limitare i messaggi indesiderati e consumo di banda ingiustificato.
Unito a plugin e servizi antispam, darà un taglio rilevante a messaggi di spam et simili.
E’ importante ancora ricordare che la scelta degli indirizzi IP da escludere dovrà essere fatta minuziosamente, per evitar di bloccare l’accesso a persone ed host non classificati come spammer, troll etc.
Esistono anche configurazioni più specifiche per la restrizione di accessi (Range IP etc..), per maggiori informazioni, è bene leggere le istruzioni fornite direttamente da Apache.
Nell’articolo è stata menzionata prevalentemente l’implementazione del file .htacces su siti/blog che girano sotto piattaforma WordPress.
Le regole imposte nel file .htaccess appartengono ad Apache e potranno quindi essere adattate anche per altre piattaforme CMS e siti web e pagine html varie.
Non ci assumiamo responsabilità per utilizzi impropri e/o scaturiti da errate interpretazioni.
Link sponsorizzati



Inserito in: : In Evidenza • Utilità
Commenti (7)
Scrivi una risposta | Trackback URL
Ping Brigade: testa l’efficienza di siti web
Salvare le chat su Facebook con Firefox
Scoprire il link originale da un indirizzo web abbreviato
FileSavr: condividi file da 10GB gratuitamente
CursorWiz: creare online i cursori del mouse
Ottimo post direi.
Mi tornerà senz’altro molto utile.
Grazie
Ottimo post!
Consigli davvero utili, grazie Matteo!
2 domande:
- il plugin “Hiddy Antispam” lo avete provato? Funziona?
-se trovo dei messaggi spam da un indirizzo ip, sono sicuro al 100% che appartiene ad un spammer? Hanno gli indirizzi fissi di solito?
Grazie mille ciao a tutti!
Andrea
Ciao Andrea,
grazie a te per le domande molto utili !
1 – Il plugin Hiddy direi che funziona molto bene. L’ho installato già da tempo e blocca circa il 90% dei bot.
2- Solitamente gli spammer “professionisti” hanno indirizzi IP fissi e/o che appartengono ad un predeterminato range.
Basta guardare le statistiche interne del sito per rendersene conto.
Magari fai anche un traceroute dell’IP e vedi da quale nazione proviene.
Tempo fa avevo un certo IP, proveniente da Panama, presente 24h, che tentava di mandarmi out il server. Bloocato dall’htaccess e finalmente eliminato.
Ciao e grazie ancora
Ottime idee Matteo, grazie!
Sai anch’io ho avuto una specie di “attacco” che continuava a mandarmi il loop la homepage.
Hanno dovuto scollegare il server dove risiede il mio sito per eliminare il problema.
Comunque ogni santo giorno ricevo 5 commenti spam, ora seguirò i tuoi consigli.
Grazie e ciao a tutti i lettori di Tecnopassion!
Andrea
i miei complimenti… trovare post del genere, così completi e precisi, non è facile…
ho imparato una cosa nuova…
matteo, ti faccio una domanda, che è quell aper la quale sono arrivato sul tuo sito…
molte persone usano il loro spazio hosting, non solo per gestire il proprio sito, ma anche per “depositare” on line i loro file…
allora pensavo: ma se così è, facendo un download offline partendo dal loro dominio, chiunque potrebbe vedere tutte le cartelle usate…
quali sono i modi per salvare lo stesso i files online senza rischiare che li leggano altri?
ho queste idee:
1) creare una subdirectory e mettere un deny from all, di modo che nessuno potrà accedervi e vedere facendo uno scan; mentre il propriewtario del sito potrà sempre accedervi tramite FTP oppure abilitandosì ove abbia un ip statico
2) usare una cartella del proprio ftp che si trovi allo stesso livello della root delle cartelle iniziali dei domini così gestiti… in tal modo mi sembra che non vi si possa accedere normalmente (facendo uno scan o digitando un url) ma solo con http://FTP...
corretto?
Ciao Raf,
ti ringrazio dei complimenti.
Entrambe le modalità da te descritte sono corrette e vietano quindi l’accesso non autorizzato a determinate directory.
Puoi utilizzare anche un sistema più semplice, sempre via FTP, impostando i privilegi di una directory necessari per bloccare l’accesso da fonti esterne.
In questo modo, è possibile far risiedere una directory anche all’interno della root web.
I privilegi puoi impostarli facilmente da un comune client FTP (comando CHMOD).
Puoi utilizzare anche file .htaccess congiuntamente al file .htpassw, per limitare l’accesso ad un cartella con password.
Prova a scrivere “.htpasswd” su Google, e ti troverai migliaia di siti che trattano l’argomento, generatori etc.
Ciao
Ma perchè ieri quando ho provato il
deny from nomehost.it
funzionava e adesso non funziona più?