1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Limitare l'accesso a determinate pagine o directory
Questa guida spiega come bloccare l'accesso a determinate directory di un Web Hosting per visitatori, robot o web crawler specifici filtrando e bloccando i loro indirizzi IP o nomi host.
Regole di .htaccess
Crea un file .htaccess nella radice del tuo sito e inserisci le regole per bloccare determinati indirizzi IP o bot.
Ad esempio, puoi utilizzare la direttiva "deny from" per bloccare solo i visitatori che iniziano con un certo prefisso di indirizzo IP:
Order Deny,Allow
Deny from 123.456.
Allow from all
Ciò significa che tutte le richieste provenienti da un indirizzo IP che inizia con "123.456." verranno rifiutate, mentre tutte le altre richieste saranno consentite. Gli utenti bloccati riceveranno un errore HTTP 403 Forbidden.
Bloccare un indirizzo IP specifico
Order Allow,DenyDeny from 123.456.789
Allow from all
Ciò significa che solo un indirizzo IP, 123.456.789, è bloccato e tutti gli altri indirizzi IP possono accedere al sito.
Bloccare più indirizzi IP
Order Allow,Deny
Deny from 123.456.789
Deny from 987.654.321
Allow from all
Ciò significa che due indirizzi IP, 123.456.789 e 987.654.321, sono bloccati e tutti gli altri indirizzi IP possono accedere al sito.
Bloccare un bot in base al suo User-Agent
SetEnvIfNoCase User-Agent "BadBot" BadBot
Order Allow,Deny
Deny from env=BadBot
Allow from all
Ciò significa che tutti i bot identificati con un User-Agent "BadBot" verranno bloccati, mentre tutti gli altri utenti possono accedere al sito. Questo può essere utile per impedire a robot indesiderati di accedere a determinate pagine o di consumare risorse inutilmente.
Bloccare l'accesso a una directory specifica
Order Allow,Deny
Deny from all
Ciò significa che tutti gli accessi alla directory "/directory" verranno bloccati, indipendentemente dall'indirizzo IP o dall'User-Agent.
Direttive mod_rewrite
Puoi anche utilizzare la direttiva mod_rewrite
per bloccare determinati indirizzi IP o bot in un file .htaccess.
Ecco alcuni esempi:
Bloccare un indirizzo IP specifico
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.
RewriteRule ^(.*)$ - [F,L]
Ciò significa che solo un indirizzo IP, 123.456.789, è bloccato e tutti gli altri indirizzi IP possono accedere al sito.
Bloccare più indirizzi IP
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\. [OR]
RewriteCond %{REMOTE_ADDR} ^987\.654\.321\.
RewriteRule ^(.*)$ - [F,L]
Ciò significa che due indirizzi IP, 123.456.789 e 987.654.321, sono bloccati e tutti gli altri indirizzi IP possono accedere al sito.
Bloccare un bot in base al suo User-Agent
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} BadBot [NC]
RewriteRule ^(.*)$ - [F,L]
Ciò significa che tutti i bot identificati con un User-Agent "BadBot" verranno bloccati, mentre tutti gli altri utenti possono accedere al sito. Questo può essere utile per impedire a robot indesiderati di accedere a determinate pagine o di consumare risorse inutilmente.
Bloccare l'accesso a una directory specifica
RewriteEngine on
RewriteRule ^directory/segreto - [F,L]
Ciò significa che tutti gli accessi alla directory "/directory/segreto" verranno bloccati, indipendentemente dall'indirizzo IP o dall'User-Agent.
Bloccare e reindirizzare altrove
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.
RewriteRule ^(.*)$ http://www.domain.xyz/blocked.html [L,R=301]
Ciò significa che tutte le richieste provenienti dall'indirizzo IP 123.456.789 verranno reindirizzate alla pagina "blocked.html" sul sito "www.domain.xyz". L'ultima parte della linea RewriteRule, [L,R=301], indica che il reindirizzamento è permanente (R=301) e che questa è l'ultima regola da applicare (L).
Puoi aggiungere più condizioni RewriteCond per bloccare diversi indirizzi IP e reindirizzare a diverse pagine.
Leggi anche questa guida (clicca qui).