Indice
User-Agent: Definizione
Con il termine User-Agent si fa riferimento ad un software che recupera, esegue e facilita l’interazione dell’utente finale con un contenuto web o con interfacce utente che sono implementate utilizzando tecnologie web.
Alcuni esempi di User-Agent, oltre i normali browser, sono i crawler dei motori di ricerca, i dispositivi mobili ed i lettori di schermo e browser braille usati da persone non vedenti.
Quando un utente visita un sito web, una stringa di testo è inviata per fare identificare al server lo User-Agent di riferimento. Questo fa parte della richiesta HTTP con prefisso “User-agent:” o “User-Agent:” e tipicamente include informazioni come il nome dell’applicazione client, la versione, il sistema operativo e la lingua.
I bot spesso includono anche l’indirizzo web e l’indirizzo e-mail del proprietario, in modo tale che l’amministratore del sito possa eventualmente contattarlo.
La stringa dell’User-Agent è uno dei criteri per i quali alcuni bot possono essere esclusi da alcune pagine usando il file robots.txt. Questo permette ai webmaster, che ritengono che alcune parti del loro sito (o tutto il sito) non debba essere incluso nei dati raccolti da un particolare bot o che quel particolare bot stia usando troppa banda, di bloccare l’accesso alle pagine.
Ad esempio, una stringa User-Agent generata da un browser potrebbe somigliare a questa:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
Le informazioni indicate dall’User-Agent possono essere utilizzate per diversi scopi tra cui:
- Adattamento del contenuto: Grazie all’user agent si può fornire contenuti ottimizzati per determinati dispositivi o software dei visitatori del sito web.
- Compatibilità: Con l’user-agent è possibile riconoscere il browser e la versione utilizzata e questo consente ai server di fornire contenuti e funzionalità compatibili con quelle versioni.
- Analisi del traffico: Sapendo l’user-agent è possibile fare un’analisi del traffico del sito potendo fare un calcolo statistico per browser e sistema operativo utilizzato dai visitatori.
- Rilevamento di bot e crawler: Alcuni bot e crawler sono facilmente identificabili e quindi, adottando azioni appropriate, è possibile limitare o bloccare l’accesso ai contenuti del sito web.
- Personalizzazione dell’esperienza utente: Conoscendo l’User-Agent è possibile personalizzare l’esperienza dell’utente in base al suo software e al suo dispositivo.
Blocco User-Agent in Plesk
È possibile bloccare uno o più User-Agent inserendo la regola apposita riportata di seguito direttamente dal pannello di controllo Plesk del proprio servizio hosting.
location /readme.html { return 404; } location /license.txt { return 404; } location /wp-config.php { return 404; } location /xmlrpc.php { return 404; } if ($http_user_agent ~* (360Spider|acapbot|acoonbot|ahrefs|alexibot|asterias|attackbot|backdorbot|becomebot|binlar|blackwidow|blekkobot|blexbot|blowfish|bullseye|bunnys|butterfly|careerbot|casper|checkpriv|cheesebot|cherrypick|chinaclaw|choppy|clshttp|cmsworld|copernic|copyrightcheck|cosmos|crescent|cy_cho|datacha|demon|diavol|discobot|dittospyder|dotbot|dotnetdotcom|dumbot|emailcollector|emailsiphon|emailwolf|exabot|extract|eyenetie|feedfinder|flaming|flashget|flicky|foobot|g00g1e|getright|gigabot|go-ahead-got|gozilla|grabnet|grafula|harvest|heritrix|httrack|icarus6j|jetbot|jetcar|jikespider|kmccrew|leechftp|libweb|linkextractor|linkscan|linkwalker|loader|miner|majestic|mechanize|mj12bot|morfeus|moveoverbot|netmechanic|netspider|nicerspro|nikto|ninja|nutch|octopus|pagegrabber|planetwork|postrank|proximic|purebot|pycurl|python|queryn|queryseeker|radian6|radiation|realdownload|rogerbot|scooter|seekerspider|semalt|seznambot|siclab|sindice|sistrix|sitebot|siteexplorer|sitesnagger|skygrid|smartdownload|snoopy|sosospider|spankbot|spbot|sqlmap|stackrambler|stripper|sucker|surftbot|sux0r|suzukacz|suzuran|takeout|teleport|telesoft|true_robots|turingos|turnit|vampire|vikspider|voideye|webleacher|webreaper|webstripper|webvac|webviewer|webwhacker|winhttp|wwwoffle|woxbot|xaldon|xxxyy|yamanalab|yioopbot|youda|zeus|zmeu|zune|zyborg|WPScan|ApacheBench|Siege) ) { return 403; } if ( $request_method ~* ^(connect|debug|delete|move|put|trace|track)$ ) { return 405; }
Dopo aver fatto login al pannello di controllo Plesk cliccare su Hosting e DNS nella sezione relativa al dominio desiderato.
Nella schermata successiva cliccare su Impostazioni di Apache e nginx.
Nella schermata finale scorrere verso il basso fino in fondo alla pagina ed inserire la parte di codice indicata in precedenza nella sezione Direttive Nginix aggiuntive.
Fatto questo cliccare su Applica per salvare le modifiche.