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.