utilisateur fiable de détection du navigateur avec php

Essayer de détecter le navigateur d'un utilisateur avec PHP uniquement, est $_SERVER['HTTP_USER_AGENT'] un moyen fiable? Dois-je plutôt opter pour la get_browser fonction? lequel trouvez-vous apporte des résultats plus précis?

Si cette méthode est pragmatique, il est déconseillé de l'utiliser pour la sortie pertinente des liens de CSS, par exemple:

if(stripos($_SERVER['HTTP_USER_AGENT'],"mozilla")!==false)
   echo '<link type="text/css" href="mozilla.css" />';

J'ai remarqué cette question, mais je voulais préciser si c'est bon pour les feuilles de style CSS orientés vers la détection.

Mise à JOUR:
quelque chose de vraiment suspect: j'ai essayé echo $_SERVER['HTTP_USER_AGENT']; sur IE 7 et ce est ce que c'sortie:

Mozilla/4.0 (compatible; MSIE 7.0;
Windows NT 6.0; SLCC1; .NET CLR
2.0.50727; PC Media Center 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618)

Safari a donné quelque chose de bizarre avec "mozilla" dans lui aussi. Ce qui donne?

  • Le "Mozilla/4.0" bit est là pour des raisons d'héritage... même dans IE8.
  • IE s'identifie calme quelque temps maintenant que Mozilla 4.0. J'ai lu qu'ils l'ont fait pour des raisons de compatibilité, mais ne peut pas trouver la source de la droite maintenant. Si je devais deviner, je dirais que c'est un débris de NetScape/IE temps.
  • User-Agent n'est pas fiable. Mais c'est le seul moyen de le deviner.
  • webaim.org/blog/user-agent-string-history
  • Sympa, merci!
  • Fonctionne sans problème sur la version la plus récente de firefox.
  • Où sont beaucoup de (bons) navigateur détecteurs de autour de. Essayer de les énumérés ici github.com/ThaDafinser/UserAgentParser

InformationsquelleAutor Gal | 2010-02-13