Najlepsze pytania
Chronologia
Czat
Perspektywa

User agent

Z Wikipedii, wolnej encyklopedii

Remove ads

User agent – aplikacja kliencka. Nagłówek zawierający tzw. user agent string (UAString) służy serwisom internetowym (np. aplikacji napisanej w języku PHP) do rozpoznania typu programu klienckiego, również do budowania statystyk odwiedzin witryn WWW przez różne przeglądarki bądź roboty.

Podobny nagłówek (User-Agent:, X-Mailer:, X-Newsreader:) jest dołączany do dokumentów przesyłanych protokołami SMTP oraz NNTP jednak identyfikacja aplikacji klienta nadawcy listu e-mail nie ma większego znaczenia w działaniu Sieci.

Żadna specyfikacja protokołu nie czyni go obowiązkowym elementem zapytania HTTP, lecz każda współczesna przeglądarka owym się posługuje. Również wiele klientów HTTP nie będących typowymi przeglądarkami wysyła nagłówek UAString podczas walidacji źródła czy indeksowania stron do bazy danych wyszukiwarek.

Remove ads

Historia

Podsumowanie
Perspektywa

Za czasów dominacji Netscape’a na rynku przeglądarek, serwisy WWW otrzymując UAString nienależący do głównej przeglądarki wysyłały uboższą wersję strony, przez co np. przeglądarka Internet Explorer podszywała się pod Mozillę (nazwa kodowa Netscape’a).

Typowy identyfikator Netscape:

Mozilla/4.78 [en] (Win98; U)

Identyfikator, jakim IE posługuje się do dziś (zmieniają się tylko wersję programu i macierzystego systemu operacyjnego):

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

słowo compatible miało oznaczać rzekomą kompatybilność wyświetlania HTML-a ze sposobem wyświetlania Netscape’a.

W obu powyższych przykładach zawarta jest, oprócz wersji przeglądarki, nazwa systemu operacyjnego (odpowiednio: Microsoft Windows 98 i Microsoft Windows XP). Istnieją systemy statystyk odwiedzin na stronach WWW sumujące wizyty klientów spod różnych systemów operacyjnych.

Przykłady UAStringów

Przykłady identyfikacji pozostałych popularnych klientów:

  • Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7.10) Gecko/20050717 Firefox/1.0.6Mozilla Firefox (pod systemem GNU/Linux)
  • Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.01Opera podszywająca się pod Internet Explorera (podszywającego się pod Netscape’a)
  • Mozilla/5.0 (Macintosh; U; PPC; ja-JP; rv:1.0.1) Gecko/20020823 Netscape/7.0 – Netscape Navigator pod systemem OS X
  • Mozilla/5.0 (compatible; Konqueror/3.3; Linux) (KHTML, like Gecko)Konqueror
  • Wget/1.9.1Uniksowa aplikacja wget (mogąca działać zarówno jako prywatny program do ściągania dokumentów przez HTTP, jak i część robota)
  • Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36 OPR/19.0.1326.56 - Opera 19.0 w systemie Windows XP.
  • Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.12 (KHTML, like Gecko) Maxthon/3.0 Chrome/26.0.1410.43 Safari/535.12Maxthon w systemie Windows XP.

Identyfikatory UAString popularnych robotów internetowych:

  • Googlebot/2.1 (+http://www.googlebot.com/bot.html)Googlebot, robot wyszukiwarki Google
  • Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) – Slurp, robot Yahoo
  • W3C_Validator/1.305.2.148 libwww-perl/5.803, Jigsaw/2.2.3 W3C_CSS_Validator_JFouffa/2.0 – walidatory W3C
  • Mediapartners-Google/2.1 (+http://www.googlebot.com/bot.html) – robot badający treść strony celem wstawienia odpowiedniego banera reklamowego np. w okno przeglądarki Opera
  • JavaX.X.X – domyślny UAString aplikacji napisanych w Javie wysyłających żądania HTTP (X.X.X to wersja JRE, w jakiej uruchamiana jest aplikacja)
Więcej informacji Version, O.S. ...
Remove ads

Bezpieczeństwo

Podsumowanie
Perspektywa

Aplikacje serwerowe nie powinny polegać na zawartości ciągu User Agent (otrzymywanego często jako HTTP_USER_AGENT), gdy może to wpłynąć na bezpieczeństwo, gdyż – jak wszystkie dane otrzymane od aplikacji klienta – są łatwe do usunięcia, sfałszowania lub podszycia. Podobnie czynią niektórzy właściciele firewalli, którzy w obawie o utratę prywatności blokowali wysyłanie rzeczywistego UAStringa do serwerów. Wiele przeglądarek pozwala na zmienianie identyfikacji podszywając się pod różne programy lub nawet na ręczne wpisanie dowolnego ciągu znaków jako UAString.

Przykładem takiego błędu bezpieczeństwa jest opublikowana przy udziale Microsoft gra Cut The Rope w wersji HTML5. Została ona wydana w celu podkreślenia kompatybilności Internet Explorer 9 z HTML5. Aby uzyskać dostęp do pełnej wersji gry, należało użyć przeglądarki Internet Explorer 9, a dla użytkowników starszych systemów niż Windows Vista SP2, z powodu wymagań przeglądarki, należało również zakupić nowszy system operacyjny. Twórcy gry decyzję tłumaczyli faktem niespójnej obsługi HTML5 w przeglądarkach innych niż Internet Explorer. W rzeczywistości w teście HTML5 html5test.com, przeglądarka Internet Explorer 9 uzyskała wynik 128 punktów (większa liczba oznacza większą kompatybilność ze standardami), natomiast przeglądarki Firefox, Opera, Chrome i Safari (w wersjach wydanych przed wydaniem IE9) uzyskały odpowiednio 173, 259, 345 i 246 punktów, a więc każda z nich była bardziej kompatybilna od IE9[1]. Sprawdzanie przeglądarki polegało na UAString - zarówno wartość z nagłówka HTTP, jak i podawana przez silnik JavaScript. Po zmianie UAString użytkownicy mogli skorzystać z gry bez używania przeglądarki Internet Explorer 9 wraz z jej zależnościami (jak system operacyjny)[2].

Remove ads

Metody otrzymywania dostępu do ciągu agenta

Zobacz też

Przypisy

Linki zewnętrzne

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads