TanodTools
IT

Analizzatore di user agent

Scomponi una stringa user agent in browser, motore, sistema operativo, dispositivo e CPU, a partire da quella del tuo browser.

Funziona interamente nel tuo browser

Client Hints del tuo browser

L'analisi usa ua-parser-js 1.0.41 (MIT) ed è basata su pattern, quindi stringhe insolite o falsificate possono essere lette male. I Client Hints sono mostrati solo per il browser che stai usando ora, e solo dove quel browser li supporta (i browser Chromium sì; Firefox e Safari no).

Come leggere una stringa user agent

  1. Lo user agent del tuo browser viene analizzato appena la pagina si carica. Per controllarne un altro, incollalo nella casella, per esempio da un log del server.
  2. Leggi le righe di browser, motore, sistema operativo, dispositivo e CPU. Trattale come ciò che la stringa dichiara, non come fatti dimostrati.
  3. Per il tuo browser, confronta il risultato con la sezione Client Hints, che può mostrare dettagli che la stringa accorciata omette.

Cosa ti dice uno user agent, e cosa nasconde

Lo user agent è nato come modo per un server di vedere quale browser stava facendo la richiesta, per inviare una pagina che funzionasse lì. I browser poi si sono copiati i nomi a vicenda per ottenere le pagine migliori, ed è per questo che oggi una stringa Chrome dice anche Mozilla, AppleWebKit, KHTML, Gecko e Safari. Un parser aggira il problema verificando i pattern in un ordine accurato e scegliendo la corrispondenza più specifica.

La stringa viene anche accorciata di proposito. La User-Agent reduction di Chrome fissa la versione di Windows a NT 10.0, quella di macOS a 10_15_7, il modello Android a K e il numero di build a 0.0.0, in modo che la stringa non sia più una buona impronta digitale. I dettagli non sono scomparsi: una pagina che li richiede tramite i Client Hints ottiene versione della piattaforma, architettura, modello e versione completa del browser, e il browser del visitatore decide se rispondere.

Usa la stringa per decisioni di massima e per i log, non per la fiducia. I crawler e gli strumenti da riga di comando come curl inviano le loro stringhe brevi, e tutto può essere falsificato. Se stai inseguendo un bug di layout, il rilevamento delle funzionalità nella pagina è più affidabile della lettura del nome del browser.

Consigli

Domande frequenti

Cos'è una stringa user agent?

È una riga di testo che un browser o un programma invia con ogni richiesta web per dire cos'è. A causa di decenni di trucchi di compatibilità, quasi ogni browser inizia con Mozilla/5.0 e cita diversi altri browser, quindi leggerne una richiede il riconoscimento di pattern e non una semplice divisione.

Perché Windows 11 risulta come Windows 10?

Chrome e gli altri browser Chromium congelano la parte della piattaforma della stringa su "Windows NT 10.0", qualunque sia la vera versione di Windows. Solo i Client Hints possono distinguerli: una versione della piattaforma pari o superiore a 13 significa Windows 11. Questa pagina mostra quel valore per il tuo browser quando è disponibile.

Perché il mio iPad dice di essere un Mac?

Da iPadOS 13, Safari richiede per impostazione predefinita i siti desktop e invia uno user agent Macintosh. La sola stringa non può distinguere un Mac da un iPad, anche se una pagina può verificare la presenza di un touchscreen. Lo stesso vale per macOS: nella stringa la versione è congelata a 10_15_7.

Cos'è la User-Agent reduction?

Chrome sta eliminando dettagli dalla stringa per ridurre il tracciamento passivo: la versione minore appare come 0.0.0, il modello del dispositivo Android appare come una singola lettera K e la versione del sistema è fissa. I siti che hanno bisogno dei dettagli devono richiederli con i Client Hints.

Cosa sono i Client Hints?

Sono intestazioni strutturate e un'API JavaScript (navigator.userAgentData) che permettono a una pagina di richiedere dettagli specifici, come l'architettura o la versione completa del browser, invece di leggerli dalla stringa. Oggi li supportano solo i browser basati su Chromium.

Posso fidarmi di uno user agent per decisioni di sicurezza?

No. Chiunque può inviare qualsiasi stringa, e i bot spesso fingono di essere Chrome. Va bene per le statistiche e per scegliere un layout, ma non per il controllo degli accessi. Per verificare Googlebot, un sito controlla invece l'indirizzo IP del visitatore con una ricerca DNS inversa.