Felhasználói ügynök

Felhasználói ügynök - az ügyfélalkalmazás  azonosító karakterlánca ; gyakran használják a webhelyeket elérő alkalmazásokhoz - böngészők , keresőrobotok és pókok , mobiltelefonok és egyéb eszközök, amelyek beépített hozzáféréssel rendelkeznek a webes erőforrásokhoz.

Amikor meglátogat egy webhelyet, az ügyfélalkalmazás jellemzően információkat küld magáról a webszervernek , a HTTP - kérés részét képező szöveges karakterláncot, amely User-agent:' vagy User-Agent: karakterlánccal kezdődik , és általában olyan információkat tartalmaz, mint a név. és az alkalmazás verziója, a számítógép operációs rendszere és nyelve. Pókoknál ez a karakterlánc gyakran tartalmaz egy URL -t és egy e- mail címet, ahol a webmester kapcsolatba léphet a pók kezelőjével.

Weboldal használat

A világháló történetének különböző időszakaiban az egyes böngészők dominanciája miatt sok webhelyet nem a W3C és IETF szabványok szerint terveztek , hanem úgy, hogy egy adott böngészővel működjenek. Ezek a webhelyek az ügyféltől kapott User-Agent értéktől függően különböző weboldaltartalmakat küldenek. Ez azt eredményezi, hogy az oldalt csak néhány legnépszerűbb böngészővel lehet megnyitni, és a kissé eltérő azonosítójú böngészőket "betiltják".

Sok webmester rossz gyakorlatnak tartja ezt a megközelítést, és azt javasolja, hogy a HTML-jelölést a lehető legszabványosabbá tegyék annak érdekében, hogy a webhely oldalai a lehető legtöbb böngészőben helyesen jelenjenek meg.

A mobiltelefonos webhelyeknek gyakran nagymértékben kell támaszkodniuk a User-Agent definícióra, mivel a különböző mobiltelefonok böngészői túlságosan eltérőek. Ezért a mobil internetes portálok általában különböző oldalakat generálnak a mobiltelefon típusától függően. Ezek a különbségek a kicsitől (a képek átméretezése kifejezetten kisebb képernyőkre) a meglehetősen jelentősekig terjedhetnek ( WML XHTML formátum helyett ).

A User-agent karakterláncot a webmesterek arra is használják, hogy megakadályozzák, hogy a keresőpók indexeljék a webhely bizonyos oldalait, például ha bizonyos oldalak indexelése nincs értelme, vagy egy adott pók nagy terhelést jelent a szerveren. A webmester egy speciális robots.txt fájl segítségével ajánlhat a póknak, vagy egyszerűen beállíthatja a webhelyet, hogy ne adja át ezeket az oldalakat a póknak.

Fake User-agent

Okok

Mesterséges összeférhetetlenség

Ha a webhelyek a User-agent karakterláncot használják az oldal megjelenítésének megváltoztatására, akkor a kevésbé népszerű böngészők gyakran azt eredményezik, hogy a kevésbé népszerű böngészők nem kapják meg az oldal teljes tartalmát annak ellenére, hogy azt megfelelően meg tudják jeleníteni, és bizonyos szélsőséges esetekben az ilyen böngészők nem kapnak semmit összes. [1] Ebben a tekintetben sok böngésző elkezdte "elrejteni" vagy "hamisítani" a User-agentet.

Ennek egyik korai példája az Internet Explorer egy " Mozilla/<verzió> (kompatibilis; MSIE <verzió>… ") kezdetű User-Agent karakterlánc használata a Netscape Navigatornak , a 90- es évek fő versenytársának szánt tartalom lekérésére . Megjegyzendő, hogy a "Mozilla" ebben az esetben nem a sokkal később kiadott Mozilla nyílt forráskódú böngésző, hanem az eredeti Navigator kódnév , amely egyben a Netscape kabalája ( kabala ) neve is volt. Ez a User-Agent formátum A karakterláncot azóta más böngészők is használják, különösen amiatt, hogy az Internet Explorer dominánssá vált.

Amikor az Internet Explorer lett a domináns böngésző, a versenytársak, például a Firefox , a Safari és az Opera olyan rendszereket építettek be, amelyek lehetővé tették a felhasználó számára, hogy hamis felhasználói ügynököt válasszanak, ugyanúgy, mint az Explorer legújabb verzióiban. Némelyikük (Firefox és Safari) a User-Agent értéket teljes egészében, mások (Opera) a User-Agent értéket másolták le, a végére hozzáadva a böngésző valódi nevét, ami később azt eredményezte, hogy a karakterlánc három nevet és verziót tartalmazott: a az első neve "Mozilla" (azaz Netscape Navigator); további "MSIE" (Internet Explorer); és végül egy érvényes böngésző, mint az "Opera". Az Opera azt is lehetővé tette, hogy teljesen Internet Explorernek vagy Firefoxnak álcázza magát, teljesen elrejtve az "Opera" nevet.

A Safari esetében a User-Agent karakterlánc 5 nevet tartalmaz (Mozilla, AppleWebKit (az "motor azonosítója"), "KHTML, mint a Gecko" (a használt Safari WebKit a KHTML motoron alapul, a Gecko a kódnév a Mozilla Firefox legújabb verzióinak motorjához) és a Safarihoz. Így ha az oldal szinte bármelyik modern böngészőt (az Opera kivételével) ellenőrzi, a Safari átadja.A WebKit motorra épülő többi böngésző is hasonlóan működik.

A böngészők mellett a HTTP protokollt használó egyéb programok, például a letöltéskezelők és az offline böngészők is képesek a felhasználó kérésére módosítani a szervernek küldött User-Agent értéket. Ez valószínűleg bizonyos szerverekkel való kompatibilitás biztosítása érdekében történik (egyes szerverek megtagadják az ilyen programok kiszolgálását, mivel jelentős terhelést jelenthetnek a szerver erőforrásaira; a Google például 403-at ad vissza az alapértelmezett python urllib ügynökhöz).

Ez a probléma továbbra is fennáll a böngészők világában, ezért kampány indult, amely arra ösztönzi a webhelyfejlesztőket, hogy szabványok szerint tervezzék meg az oldalakat, ne pedig egy adott böngészőhöz.

Például sok 2005 -ben létrehozott webhely jobban megfelel a szabványoknak, mint a web történetében korábban. Egyes webhelyek azonban továbbra is elavult JavaScript -szkripteket használnak , amelyek lényegében az Internet Exploreren és a Netscape Navigatoron kívül más böngészők működését is blokkolják. Ennek gyakran az az oka, hogy ész nélkül másolják a régi kódokat, amelyeket más oldalakról vettek át, anélkül, hogy teljesen megértenék, milyen hatása lesz ennek a kódnak.

Következmények

A User-Agent érték meghamisításának egyik eredménye az, hogy túlbecsülik a megfelelő (általában már népszerű) böngésző népszerűségét a statisztikákban , és alábecsülik más böngészők népszerűségét, és ennek eredményeként a fenti oldalak fejlesztőinek nincs kedvük a kompatibilitás javítására. problémákat.

Titkosítási szintek

A Netscape , a Mozilla , az Opera és néhány másik e betűk valamelyikét használja az általuk támogatott titkosítási szint jelzésére. Mivel az Egyesült Államok kormánya korábban nem engedélyezte a 40 bitnél nagyobb kulcsú titkosítási rendszerek exportját, ezért különböző verziókat adtak ki különböző titkosítási szintekkel. Az "U" jelentése "USA" (Egyesült Államok) (a 128 bites titkosítási kulccsal rendelkező verziók esetében), az "I" a "nemzetközi" (nemzetközi) (a böngésző képes volt 40 bites kulccsal titkosítani, és bárhol a világon használják), az „N” azt jelenti, hogy „Nincs” (nincs titkosítás). Kezdetben az "U" verziókat csak az Egyesült Államok lakosai tölthették le, de mivel az Egyesült Államok kormánya lazított politikáján, a magas szintű titkosítási rendszerek exportja a legtöbb országba engedélyezett. Most a böngészőket csak az "U" betűs verzióban terjesztik, amely támogatja a 256 bites kulccsal történő titkosítást, mivel a nemzetközi verzió iránti igény eltűnt.

Jegyzetek

  1. 334967. hiba - (geckoisgecko) Az UA karakterlánc által megszakított webhelyek nyomkövetési hibája a "Firefox  " használatának mellőzésére módosult . Bugzilla@Mozilla . Letöltve: 2010. június 17. Az eredetiből archiválva : 2014. május 25.

Irodalom

  • Zakas, NC 9. fejezet Kliensészlelés, Felhasználó-ügynök észlelése // Professzionális JavaScript webfejlesztőknek. - Wiley, 2011. - 840 p. — ISBN 9781118059517 .
  • Sikorski, M. és Honig, A. Gyakorlati kártevő-elemzés: gyakorlati útmutató a rosszindulatú szoftverek szétszedéséhez. - No Starch Press, 2012. - P. 309-311. — ISBN 9781593274306 .

Linkek