Bloccare l’accesso ad un sito può essere utile per vari motivi: bloccare script malevoli, proteggersi dagli stalker o da quegli stupidi troll che girano in rete. Per farlo possiamo sfruttare le potenzialità di .htaccess , senza ricorrere a complicati blocchi lato server/firewall. Basta aggiungere al file .htaccess le seguenti direttive. Vediamo come farlo in varie situazioni:

 

Bloccare un IP specifico

Deny from 123.123.123.123

Il più semplice: indichiamo l’IP che non può visualizzare il sito.

 

Bloccare una serie di indirizzi IP

Deny from 111.111.111.111 222.222.222.222 333.333.333.333

Per bloccare più indirizzi IP, possiamo indicarli di seguito separati da uno spazio

 

Bloccare una subnet

Una subnet è un insieme di IP, tutti appartenenti alla stessa radice:

Deny from 123.123.123

Questo equivale a 123.123.123.*, ovvero sono compresi tutti gli IP fra 123.123.123.0 e 123.123.123.255

 

Bloccare un IPv6

Deny from 2001:0db8:0000:0042:0000:8a2e:0370

Il discorso vale naturalmente anche per gli IPv6

 

Redirect in base all’IP

Ricordate il discorso sui troll di prima? Volendo, possiamo mettere l’indirizzo IP in una comune regola htaccess, ciò significa che potremmo fare il redirect in base all’IP del visitatore:

RewriteCond %{REMOTE_ADDR} ^111\.111\.111\.111$
RewriteRule .* /sorpresa.html [R=301,L]

 

Bloccare il tipo di richiesta

<Limit POST>
    Order Allow,Deny
    Allow from all
    Deny from 123.123.123.123
</Limit>

Volendo, possiamo bloccare le richieste in base al loro tipo. Gli esempi precedenti riguardano richieste GET, quelle di default. Ma potremmo limitare le richieste POST, come quelle che vengono, ad esempio, da un form. Nella regola qui sopra, le richieste POST da 123.123.123.123 verranno ignorate.