devdev / in the loop

Come bloccare un IP con .htaccess

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.

Questo articolo ti è stato utile?
Server – LETTURA 7 MINUTI Il comando du, esempi e flag
Il comando du è uno standard Linux/Unix (e Mac) che ci permette di ottenere informazioni su file e cartelle in…
Server – LETTURA 5 MINUTI rsync: come escludere file e cartelle
Rsync (Remote sync) è uno strumento molto potente per poter sincronizzare due cartelle, e per poter effettuare backup incrementali. In…
Server – LETTURA 12 MINUTI Che cos’è la High Availability
In questi anni stiamo vedendo un incremento verticale delle strutture ad alta efficacia, sia in termini di performance che di…
Server – LETTURA 5 MINUTI WordPress: PHP 7.2 vs PHP 7.3 (performance e benchmark)
PHP 7.3 è stato rilasciato alla fine del 2018, quindi comincia ad essere maggiormente diffuso sui sistemi in produzione. Oggi…
Roba figa da
if (weekend) {
    relax();
}
la nostra newsletter, ogni tanto.