You are here

Bloccare IP, range o host con htaccess in Drupal e altri

Inviato da giovanninews on Dom, 29/07/2012 - 01:48

Bkoccare range IP Ultimamente sono stato preso di mira da uno spammer che voleva a tutti i costi far penalizzare una mia pagina web (e di conseguenza tutto il sito). Chi ha un sito web e permette la pubblicazione di commenti, sa quanto sono comuni e frequenti gli spammer.

In genere, ogni cms basato su PHP, Drupal, Wordpress o Joomla, da la possibilità di bloccare un IP, o con strumenti nativi del sistema o con moduli aggiuntivi o plugin. Con Drupal ad esempio, anche senza moduli aggiuntivi, si può bloccare l' accesso al sito a spammer o utenti indesiderati (troll) per indirizzo IP, per nome utente (se si è registrato al sito) o per nome host.

Identificare IP spammer

Naturalmente, essendo gli indirizzi IP generalmente dinamici, prima di bloccare un IP, ci si deve assicurare che questo è in genere utilizzato da spammer evitando quindi di bloccare utenti ignari che accedono al sito web in buona fede.

Per questo controllo, oltre a verificare che lo spammer accede sempre dallo stesso indirizzo, ci si può anche aiutare con siti online che funzionano come una specie di database; uno dei tanti è Project Honey Pot.

Nel mio ultimo caso lo stesso spammer inviava commenti spam una decina di volte al giorno, sempre sulla stessa pagina ed utilizzando ogni volta un indirizzo IP diverso; non era quindi possibile bloccare lo spammer per IP, ma potevo farlo per range IP verificando che i primi numeri del suo indirizzo IP erano sempre gli stessi.

Bloccare range IP

E' possibile bloccare l' accesso a qualsiasi sito web che gira sotto un server Apache (o su questo basato) ad un intero range IP direttamente dall' htaccess del sito con tre righe di codice.

Per i meno esperti il file htaccess è un file, contenuto nella directory principale del sito, che permette di dare delle direttive al server Apache. In maniera molto riduttiva, il client si qualifica con un indirizzo IP, Apache verifica htaccess e se l' indirizzo IP è compreso nel range IP da bloccare, Apache gli risponde picche.

Ecco le tre righe di codice da inserire in fondo al nostro htaccess (o dopo il modulo mod_rewrite se presente):

# INZIO blocco IP di spammer
  order allow,deny
  deny from XXX.XXX.
  allow from all
# FINE blocco IP di spammer

I caratteri X devono essere sostituiti dai numeri decimali reali del primo e secondo gruppo dell' indirizzo IP ed identificano il range IP da bloccare; è fondamentale mettere il punto finale.

Bloccare un IP o un host

Per bloccare un indirizzo IP specifico mettere il numero IP completo (xxx.xxx.xxx.xxx), mentre per bloccare un host spammer o indesiderato mettere il suo dominio al posto dell' indirizzo IP.

Per ulteriore chiarezza sull' indirizzo IP, andare a questa voce di Wikipedia.

Con il senno di poi avrei potuto bloccare la rete host spammer direttamente da Drupal senza toccare l' htaccess identificando l' host dalle prime due serie di numeri. In ogni caso a chi ha un sito in PHP su un hosting che non permette di modificare o usare htaccess, consiglio di cambiare hosting.

Pagina successiva >>