Come bloccare bot dal proprio sito web con .htaccess?

immagine-apache-htaccess
Guida per bloccare bot dal proprio sito utilizzando il file .htaccess

Come bloccare bot dal proprio sito web con .htaccess? Avete il sito infestato dai bot e non sapete come fare? Volete capire come potete bloccarli definitivamente? Bene, continuate a leggere questo articolo…

Che cosa sono i Bot?

I “Bot”, per coloro che non sono familiari con questo termine, sono dei programmi di computer che navigano su diversi siti web per eseguire determinati processi stabiliti. Un esempio di bot sono quelli dei motori di ricerca come Google che scannerizzano in automatico le pagine web di qualsiasi sito web per trovare le informazioni. Non tutti i bot sono “buoni” come quelli dei motori di ricerca. Esitono ad esempio dei bot che scannerizzano le vostre pagine per trovare dei form online in modo da compilarli per inviarvi email di spam. Altri bot testano le vulnerabilità del vostro sito, etc.  Volete saperne di più? Leggete questa pagina dedicata di Wikipedia: Bot.

Se vi chiedete: “Posso bloccare tutti i Bot in una volta sola?” La risposta breve è “No”. Non pensate di riuscire a vietare l’accesso a tutti i bot in una volta sola utilizzando i metodi che troverete in questo articolo, perché è quasi impossibile bloccare tutti i bot che visiteranno con il tempo le vostre pagine web. Ne bloccate 1? Probabilmente il giorno dopo ne avrete altri due che visitano le vostre pagine.

Prima di poter bloccare un Bot avete bisogno delle seguenti informazioni: l’Indirizzo IP attraverso il quale il Bot si collega, il sito Web di provenienza oppure il suo “User agent string”. Per trovare queste informazioni, il metodo più semplice è quello di controllare il vostro log web. Per maggiori informazioni su dove trovarlo chiedete al vostro provider di hosting.

Bloccare Dominio Bot utilizzando .htaccess

Per bloccare i Bot possiamo utilizzare il file .htaccess. Per poter utilizzare questa funzione dovrete avere il modulo Apache mod_rewrite. Questo modulo viene installato di default nella maggior parte dei server moderni, comunque per esserne sicuri potete chiedere al vostro hosting per avere maggiori informazioni.

Se il vostro file .htaccess ha già del contenuto al suo interno aggiungete questi codici alla fine di tutto il resto. Se non avete nessun file .htaccess nella root del vostro sito web allora dovrete crearne uno: aprite un editor di testo e create un file chiamato htaccess.txt, salvatelo sul PC, caricatelo sul vostro server e poi rinominatelo in .htaccess.

Aprite il vostro file .htaccess e inserite:

Blocca traffico per un referrer singolo:

RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} sito-da-bloccare\.com [NC]
RewriteRule .* - [F]

Blocca traffico per molti referrer:

RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} sito-da-bloccare\.com [NC,OR]
RewriteCond %{HTTP_REFERER} altro-sito-da-bloccare\.com
RewriteRule .* - [F]

Nell’esempio qui sopra, nel caso del block per referrer singoli, “sito-da-bloccare\.com” è il dominio che volete bloccare. “[NC]” viene aggiunta per rendere il dominio case-insensitive; questo significa che verrà bloccato sia sito-da-bloccare.com che Sito-Da-Bloccare.com (comprese tutte le possibili varianti).  L’ultima linea di codice, quando si verifica l’accesso da parte del sito web specificato, istruisce il server in modo da restituire un messaggio di errore. Nello specifico verrà visualizzata una pagina 403 di errore. L’unica differenza nei due codici qui sopra è l’aggiunta di OR ([NC,OR]).

La linea “Options +FollowSymlinks” è commentata. Se il vostro server non è configurato per utilizzare FollowSymLinks nella sezione <directory> del file httpd.conf, rimuovete il commento o riceverete una pagina di errore 500 (Internal Server Error).

Bloccare Indirizzo IP Bot utilizzando .htaccess

Per bloccare alcuni indirizzi IP (esempio: 127.0.0.1) aggiungete le seguenti linee di codice nel vostro file .htaccess. Ovviamente cambiate “127.0.0.1” con l’Indirizzo IP del Bot che volete bloccare.

Aprite il vostro file .htaccess e inserite:

Blocca traffico per un referrer singolo tramite IP:

Order Deny,Allow
Deny from 127.0.0.1 

Se il server riceverà una richiesta dall’IP specificato restituirà una pagina di errore Forbidden.

Blocca traffico per molti referrer tramite IP:

Order Deny,Allow
Deny from 127.0.0.1
Deny from 192.566.3.1 

Potete aggiungere quanti IP volete. Considerate però che se il vostro .htaccess diventa troppo grande il vostro server potrebbe risentirne in termini di velocità, in quanto ogni volta per restituire una pagina dovrà controllare prima tutte le regole che avete specificato nel file.

Bloccare utilizzando l’User agent string del Bot singolo:

BrowserMatchNoCase SpammerRobot no_bot
Order Deny,Allow
Deny from env=no_bot 

Se la stringa dell’User Agent contiene “SpammerRobot” il server restituirà una pagina di errore. Potete cambiare no_bot con qualsiasi cosa, se volete.

Bloccare utilizzando l’User agent string di molti Bot:

BrowserMatchNoCase SpammerRobot no_bot
BrowserMatchNoCase SpammerRobotDue no_bot
Order Deny,Allow
Deny from env=no_bot 

Come già detto non è possibile bloccare tutti i bot che accedereanno al vostro sito web, ma utilizzando i metodi sopra esposti sarete in grado di bloccare una buona parte di bot dall’accedere alle pagine del vostro sito web.

 
0 Kudos
Non ti
muovere!

Condividi il Post