Non proprio, la tua comprensione sembra essere corretta. Praticamente ogni browser web (e la maggior parte degli altri client HTTP) invierà una stringa user-agent, quindi probabilmente tutte le richieste che arrivano senza di esse sono piuttosto approssimative. D'altra parte, non costa praticamente nulla da inviare (ad esempio, con curl
, usa l'argomento -A) e non è garantito che abbia qualcosa a che fare con la verità. La maggior parte dei client, inclusi i browser, ti permettono di spoofare la stringa UA come qualsiasi cosa tu (l'utente) desideri che sia.
Naturalmente, se si dice al server che si è in IE 5 in esecuzione su Windows CE, è possibile che venga restituito un codice HTML / JS veramente schifoso: molti server Web utilizzano stringhe UA per inviare versioni diverse di pagine Web in base al server. le funzionalità previste del browser che effettua la richiesta, ma questo è il tuo problema, non il problema del server. Lo stesso vale per l'invio di nessuna stringa UA a tutti.
Dal punto di vista della sicurezza, potresti mettere un pasticcio in modo aggressivo bloccando le richieste senza UA o con un UA non affidabile, ma tutto ciò che un utente malintenzionato deve fare è solo spoofare l'UA di, per esempio, l'attuale versione di Chrome (che è facile da trovare e facile da usare). Non è altro che un dosso di velocità. Non la chiamerei nemmeno difesa in profondità, dato che è così banale da bypassare.
Penso che il tuo fornitore di servizi non stia davvero sfruttando la sicurezza, e sta cadendo per quello che definisco l'errore "nessun utente legittimo" (da non confondere con "nessun vero scozzese"). Va così: "OK, quindi c'è una minaccia alla sicurezza se l'utente [fa X]? Beh, nessun utente legittimo lo farebbe, quindi siamo al sicuro." In questo caso [sembra che X] sia "falsa la stringa UA del loro cliente". Molte persone semplicemente non capiscono che un utente malintenzionato può, e lo farà, impersonare un utente legittimo abbastanza bene da non poter dire in modo affidabile la differenza finché non è stato sfruttato.
Bene, o semplicemente non si rendono conto che la stringa UA è praticamente inutile e banalmente modificabile.