giovedì 1 giugno 2017

Bloccare l'accesso dei BOT al sito


Questa la procedura migliore che ho trovato assemblando varie indicazioni trovate in rete:

1. Rilevare gli user-agent che hanno avuto accesso al server ordinandoli per numerosità di accessi interroganto il file access.log
cat access.log | awk -F\" '{print $6}' | sort | uniq -c | sort -n

2. Inserire degli user-agent dei bot nel file robots.txt con indicazione di blocco:
User-agent:
Disallow: /

3. Inserire la condizione di blocco nel file .htaccess
Condizione per il singolo user-agent:
  RewriteEngine on
  RewriteCond %{HTTP_USER_AGENT} Twitterbot [NC,OR]
  RewriteCond %{HTTP_USER_AGENT} Baiduspider [NC,OR]
  RewriteCond %{HTTP_USER_AGENT} ApacheBench [NC]
  RewriteRule .* - [F,L]

Condizione per più user-agent:
  RewriteCond %{HTTP_USER_AGENT} ^(Twitterbot|Baiduspider|ApacheBench) [NC]
  RewriteRule .* - [F,L]

4. Inserire il blocco dell'ip del bot nel file htaccess
 deny aaa.bbb.ccc.ddd

Per un approccio più esteso considerare di trasferire il sito sotto Cloudflare

Riferimenti
- https://ma.ttias.be/block-user-agent-in-htaccess-for-apache-webserver/
- http://www.blogtips.org/web-crawlers-love-the-good-but-kill-the-bad-and-the-ugly/
- https://support.hypernode.com/knowledgebase/fixing-bad-performance-caused-by-search-engines/

Nessun commento:

Posta un commento