Nettleserfingeravtrykk – anonym identifikasjon av nettlesere. Hva er User Agent

Internett er et offentlig nettverk, stort sett gratis.

Men mange nettsteder og tjenester krever stadig autorisasjon, og de gjør dette på en ikke den mest praktiske måten.

La oss se hvordan du kan unngå noen irriterende prosedyrer.

Vi går gjennom autorisasjonsprosedyren uten registrering

Lukkede betatjenester, nettsteder med et begrenset publikum - alle slike ressurser gjør autorisasjon nesten umulig. Men hvis du virkelig vil gå hvor på vanlig måte ikke kommer gjennom, er det verdt å prøve tjenesten BugMeNot.

Tjenesten hjelper deg med å velge de mest brukte påloggings-/passordparene, som i mange tilfeller gir uhindret tilgang til en bestemt tjeneste uten registrering. Og hvis noen allerede har logget på med et bestemt brukernavn og passord, etter å ha notert dette i tjenesten, kan du se en slik bekreftelse i programvinduet.

Tjenesten har forresten også en plugin for Firefox.

Endring av nettleser-ID

For å få tilgang til et nettsted som for eksempel bare fungerer med IE, som nekter å jobbe med andre nettlesere, kan du endre nettleser-ID.

Du kan laste ned plugin for Firefox Brukeragentbytter, som raskt og smertefritt lar deg gjøre alt dette på noen få sekunder.

Når det gjelder Safari, har denne nettleseren en innebygd evne til å endre identifikatoren, det samme gjelder med Google Chrome("Egenskaper" => "Lagringssted" => "chrome.exe" => "Egenskaper" => mellomrom og lim inn denne linjen -user-agent=»Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 som Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, som Gecko) Versjon/4.0.4 Mobile/7B314 Safari/531.21. 10").

Forresten, på samme måte kan du få gratis Internett hos Starbucks, Barnes & Noble. Det er gratis Internett-tilgang for iPhone-eiere, og du kan også få tilgang til et slikt Wi-Fi-hotspot ved å endre nettleser-IDen på iPhone. På denne måten kan du jobbe gratis på Internett, mens du sitter med en bærbar datamaskin, ikke en iPhone.

Få tilgang til Gmail under problemer med tilgang til e-posttjenesten

Dette er ikke dumt, som det kan virke ved første øyekast. Faktum er at hvis nettgrensesnittet til tjenesten ikke fungerer, betyr ikke dette at POP3/IMAP-protokollene ikke fungerer. Bare bruk skrivebordsklienten til å motta e-post fra Gmail-kontoen din, så skulle det ikke være noen problemer.

Vi får tilgang til midlertidig ledige ressurser

Du kan prøve å omgå dette problemet ved hjelp av hjelpeverktøy. Du kan for eksempel finne en kopi av ønsket side i Googles cache. For dette er det nødvendig å søkelinje skriv inn et søk som dette: cache:site.com

I tillegg kan du bruke ressursene Coral Content Distribution Network, der arkiver for mange nettsteder er lagret. For å finne et slikt arkiv, legger du bare til .nyud.net i nettstedsnavnet, for eksempel for http://site.com vil et slikt arkiv se ut som http://site.com.nyud.net.

Firefox-nettleserbrukere kan bruke en plugin for denne nettleseren, Resurrect Pages Firefox-tillegg. Programtillegget tilbyr to alternativer for mottak nødvendig informasjon- via Google-cache og via Coral Content Distribution Network.

Fjerntilgang til din hjemme-PC

Å lansere en nettside på hjemmedatamaskinen er selvfølgelig ikke så lett, og i de fleste tilfeller er det ikke nødvendig. Men hvis du trenger noen fil med hjemmedatamaskin, kan du få det ved å installere et bestemt sett med programmer (for eksempel RAdmin), eller ved å sette opp portvideresending på ruteren din. Dette vil tillate deg ekstern tilgang til ressursene til din egen PC, og gir deg muligheten til å motta informasjon fra hvor som helst i verden.

Nettlesers fingeravtrykk er et unikt øyeblikksbilde av datamaskinens innstillinger, og spesielle nettstedsmekanismer kan spore deg. Nettleserfingeravtrykk er et alternativ med flere fordeler.

Informasjonskapsler og fingeravtrykk: hovedforskjeller

Informasjonskapsler er en integrert del av mange netttransaksjoner. De regnes som en av hovedmidlene som nettstedeiere bruker for å overvåke aktiviteten til klienter til en bestemt ressurs. Denne teknikken er imidlertid utdatert og gir sjelden ønsket effekt.

Det er flere grunner til dette. På det nåværende stadiet kan enhver bruker deaktivere driften av å motta informasjonskapsler, eller ved å bruke inkognitomodus i nettleseren, lagre dem kun for den gjeldende økten. Det vil si å gjøre din tilstedeværelse og memorering for nettstedet ubemerket. Informasjonskapsler overfører data ikke bare til ressurseieren, men også til brukerne selv. Klienten ser selve informasjonskapslene og deres avsender, slik at de kan beskytte seg selv.

Situasjonen med fingeravtrykk er annerledes. Denne teknikken er basert på analysen av informasjon som nettleseren sender til nettstedet besøkt av klienten. Basert på flere typer data: språkinnstillinger, installerte systemfonter, tidssone, skjermoppløsning, installerte plugins, digitale versjoner av programmer, etc. – det skapes et fullstendig bilde av nettleseren, som i prinsippet ligner et fingeravtrykk. Som et resultat, selv med fullstendig slettede informasjonskapsler, gjenkjenner ressursen fortsatt en spesifikk bruker fra nettleserbildet nøyaktig og enkelt.

Det er viktig å forstå at endringeni beskyttelse frafingeravtrykk hjelper ikke i det hele tatt.

Fingeravtrykk erstatter i hovedsak informasjonskapsler, og noen nettsteder bruker dem aktivt. Paradokset er også at hovedvåpenet til en internettklient i kampen for personvernet kan virke mot det. Tilhengere av anonymitet vises i nettleseren spesielle innstillinger for å beskytte dem mot overdreven aktivitet på nettsteder for å identifisere brukeren. Men mange mistenker ikke at slike trinn gjør dem mer gjenkjennelige blant andre Internett-besøkende.

Forskning har vist at datamaskiner med standardinnstillinger nettlesere er identiske for omtrent 875 tusen brukere. Nettstedene fikk et lignende bilde, noe som betyr at nøyaktig prøvetaking ble umulig. Når det gjelder nettlesere som er konfigurert litt annerledes, ble de identifisert som unike blant 4,4 millioner jevnaldrende.

Farer ved fingeravtrykk

– Trussel mot konfidensialitet – hovedårsaken, hvorfor brukeren bør være på vakt. fingeravtrykk er mye mer lumske enn informasjonskapsler. De er vanskeligere å beskytte seg mot, og det er umulig å vite om brukeren blir overvåket eller ikke. Systemet merker PC-en din med et spesielt digitalt merke i form av en hash-sum, tatt ved hjelp av en spesiell algoritme fra innstillingene dine, hvis tilstedeværelse brukeren ikke en gang er klar over. Deretter sammenligner den ganske enkelt den nylig ankomne klienten med tagdatabasen, og hvis det er en match, identifiserer den ham unikt.

- Fingeravtrykk som en global identifikator. Nettlesers fingeravtrykk gjør eieren gjenkjennelig ikke bare på ofte besøkte ressurser, men også på andre elektroniske kilder. Fingeravtrykk fanger det helhetlige bildet som ressursen mottar fra nettleseren, noe som gir den muligheten til å identifisere klienten selv med endringer i innstillinger. Fingeravtrykk kan oppheve konfidensialiteten til både forretnings- og personlig korrespondanse.

— Fingeravtrykk som en regenerator av ondsinnede informasjonskapsler og en distributør av bruker-IP. Mange nettsteder bruker såkalte Flash LSO super cookies, som kan gjenopprette vanlige informasjonskapsler dersom de slettes av klienten. Et nettlesers fingeravtrykk kan ikke bare gjenopprette hele informasjonskapselbiblioteket, men også identifisere brukeren basert på hans grunnleggende nettverksdata. Dette vil gjøre prosessen med å tømme systemet for informasjonskapsler ubrukelig - nettstedet vil fortsatt gjenkjenne klienten.

- Autonomi. Informasjonskapselbiblioteker er kanskje ikke engang nødvendig for å identifisere fingeravtrykk fra en bestemt nettleser. Selv ved å blokkere alle potensielt ondsinnede operasjoner, kan ikke brukeren være sikker på at fingeravtrykk ikke vil merke PC-en hans.

Forskning på dette området, dets metodikk og resultater

Mange forskere har satt seg fore å finne ut hvordan systemet identifiserer nettleseren. Den siste studien var basert på å samle alle egenskapene til nettlesere som gjør at én nettleser skiller seg ut fra andre. Alle hovedparametre ble tatt i betraktning, både kjente og sjeldnere. Forskerne identifiserte åtte indikatorer - dette er vanligvis antallet fingeravtrykk som kreves for identifikasjon.

Prøvetakingen ble utført med standard nettleserinnstillinger, fordi det er det de fleste brukere bruker. Mer unike innstillinger ble også testet, for eksempel beskyttelse mot og.

Noen innstillingsalternativer ble ikke testet av flere årsaker:

— Vansker med å måle indikatorer og mangel på tid. Ingen arbeid ble utført med full bruk av Microsoft ActiveX og Silverlight API, problemet med brukeridentifikasjon etter type ble ikke behandlet dataprosessor. Siden Internet Explorer ikke er veldig populær i dag, ble arbeidet med spesialiserte plugins kun beregnet for det utført til et minimum. Forskerne bestemte seg for å ikke kaste bort tid på eksperimenter med forskjellige typer super cookies og systemfonter, som kan identifiseres ved CSS-analyse.

— Ofte endrede parametere som geolokalisering og flytende IP-er ble ikke påvirket. Det ble ikke brukt utstyr tilkoblet via en ruter.

— Nettlesere der driften er helt avhengig av brukerens ønsker er ikke testet.

Hovedarbeidet var å gjennomføre matematisk analyse, basert på å sjekke unikhetsindikatorene til nettleseren etter å ha gjort endringer i standard målbilde.

Grunnlaget var en allerede eksisterende fingeravtrykkalgoritme; den var merket med et visst matematisk symbol. Algoritmen ble bygget i henhold til den såkalte " egen informasjon" eller "overraskelse". "Overraskende"-elementet representerte informasjon om et spesifikt objekt (i i dette tilfellet nettleser). Hver av de tilgjengelige opplysningene ble ansett som en egen variabel. Når du besøkte én ressurs regelmessig, ble et spesifikt antall variabler husket, og nettleseren ble gjenkjennelig.

Gradvis ble noen endringer introdusert i den ferdige algoritmen: verdiene til eksisterende variabler ble skrevet om, nye ble lagt til. Noen ganger ble endringene kombinert og skrevet ut i separate ligninger. I noen tilfeller ble statistisk uavhengige elementer brukt for å redusere målefeil.

— HTTP cookies ID (hvis nettleseren mottok informasjonskapsler); — HMAC-brukers IP-adresse (ble oppnådd ved hjelp av en spesiell nøkkel, som senere forkastes).

I løpet av studien ble det oppnådd ett unikt resultat. Datamaskinen mottok de såkalte "striping"-informasjonskapslene, og sendte informasjon om hver informasjonskapsel eget element. Som et resultat hadde en nettleser som kjører fra samme IP flere forskjellige fingeravtrykk. Systemet viste det nesten umulige: flere brukere jobbet bak én brannmur. "Alternative" informasjonskapsler ble overført til kun én IP av 2585 analoger, og dette utgjorde omtrent 3,5 % av det totale antallet adresser som var involvert i studien.

Fakta knyttet til IP-adresser ble også notert. Det ble besluttet å sjekke om nettleserens unike egenskaper ville endre seg ved endring av IP. Resultatet opprørte personvernforkjempere: bare 4,6 % av endrede adresser påvirket nettleserens fingeravtrykk. I andre tilfeller var systemet avhengig av andre data mottatt fra brukere.

Konklusjon: En falsk IP garanterer ikke suksess med å opprettholde personvernet. Utvalget ble utført blant 321 155 adresser.

Testresultater bekrefter at personvernet består utfordrende oppgave. Av alle nettlesere med forskjellige innstillinger hele 83,6 % ble funnet å være unike (eller lett gjenkjennelige). 8,1 % tilhørte den såkalte «vanlige analoger»-kategorien. Bare 8,2 % var relativt beskyttet mot identifikasjon. Studien viser at sikkerhetsnivået med standardinnstillinger ikke er avhengig av nettlesertype.

Nesten alle versjoner av nettlesere og analyseteknikker ble brukt, men resultatet ble det samme – 92 % av nettleserne på Internett er unike. Det er som en brikke implantert under huden; alle som har en skanner vil alltid vite hvem du er.

Mindre gjenkjennelige var nettlesere med ulike plugins, for eksempel standardalternativer og NoScript som kjører parallelt. Unikitet kan reduseres til 40–50 %. Imidlertid bør plugin bare brukes for normale indikatorer (du kan i tillegg deaktivere og ). Ellers vil anerkjennelsen øke.

Resultatene av studien er skuffende for Windows: andre operativsystemer (OS X, Android) er mye mindre utsatt for identifikasjon. De har en mer komplisert prosess med å overføre informasjonskapsler og bygge nettlesers fingeravtrykk.

Det neste angrepet av paranoia var fullstendig berettiget - det kom etter å ha lest, hvor forfatteren, ved å bruke eksemplet med nettleseren FireFox, snakket om potensielle lekkasjer av identifikasjonsinformasjon. Og det ble interessant – hvor anvendelige er de annonserte løsningene for for eksempel en nettleser? Google Chrome?
Skjul ekte IP - bruk forskjellige VPN-servere, deaktiver brorparten av sporingsskriptene - Adblock Plus og Ghostery, fjern Referer - uten tvil, de glemte noe annet... Å ja - User-Agent er et slags "fingeravtrykk" som (i forbindelse med f.eks. IP) ) er det enkelt å identifisere brukeren. Og noe måtte gjøres med dette. Løsningene som ble funnet endret kun statisk User-Agent-verdien, noe som tydeligvis ikke var nok. Så ble det besluttet å skrive en plugin for å skjule den virkelige User-Agenten, eller for å være mer presis, erstatte den med en tilfeldig, eller nesten tilfeldig.

Litt teori

Generelt sett vil User-Agent (heretter referert til som U.A.) - en nødvendig ting. Nødvendig først og fremst for riktig visning av sider, fordi vi alle vet - forskjellige versjoner Ulike nettlesere gjengir sider forskjellig, og omsorgsfulle nettprogrammerere tar hensyn til dette når de utsteder nødvendige nettlesere nødvendige skript og stiler. Støtte for tilgjengelige teknologier av "motorer" varierer. Dette fører til det første kravet til resultatet - evnen til å "imitere" ulike nettlesere, og det som er viktigst er å kunne valg mellom dem.
UA er først og fremst et sett. Et sett med forskjellige identifikatorer, som brukes til å bestemme hvilken nettleser, hvilken operativsystem, hvilken versjon og hvilken spesifikk programvare (hei, IE) brukeren har.
Hvorfor skal IP og UA skjules i utgangspunktet? La oss se på loggen til et tomt stubbenettsted uten noe i det hele tatt:

$ cat somesite.org.access_log | tail -3 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (kompatibel; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+ )" 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (kompatibel; YandexBot/3.0; +http://yandex.com/bots)" 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"

Det er ingenting på siden, men jeg vet mer enn nok om den besøkende. Dette er fordi "logger vet alt."

Litt øving

Så det er bestemt - vi vil erstatte en falsk UA. Men hvordan danne det? Jeg fulgte veien med å samle dusinvis av UAer for hver nettleser av interesse, og skrive en vanlig kode for hver som ville generere mest plausible og samtidig til en viss grad et unikt avtrykk. Vil du ha et eksempel? Her er 10 UA-nettlesere "IE 9", og blant dem er fem ekte. Kan du se forskjellen?

Mozilla/5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; chromeframe/12.0.742.112) Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 6.0; Win64; x60; Trident/5.NET. CLR 3.8.50799; Media Center PC 6.0; .NET4.0E) Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 8.1; Trident/5.0; .NET4.0E; en-AU) Mozilla/5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0) Mozilla/5.0 (kompatibel; Windows 9.8.0; MSIE 9.0. ; WOW64; Trident/5.0; .NET CLR 2.7.40781; .NET4.0E; en-SG) Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 8.0; Win64; x64; Trident/5.0; .NET4.0E ; no) Mozilla/5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center) Mozilla/5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; 0 Media Center PC Zune 4.0;Nettbrett 2.0; InfoPath.3; .NET4.0C; .NET4.0E) Mozilla/5.0 (kompatibel; MSIE 9.0; Windows NT 7.0; Trident/5.0; .NET CLR 2.2.50767; Zune 4.2; .NET4.0E) Mozilla/5.0 (kompatibel; MSIE 9.0; Windows NT ) Win64; x64; Trident/5.0
Ja, det er mulig, men for dette må du analysere. Analyser for eksempel hvilket .net som kan installeres på hvilket OS, analyser versjoner og kombinasjoner, nyanser. Når de går seg vill i en haug, blir oppgaven litt triviell. Alle som er interessert i hvordan gjengangere ser ut er velkommen til å følge denne linken. På generasjonsdagen brukte jeg randexp.js (takk til fyren under kallenavnet for tipset).

Generelt etterligner utvidelsen følgende nettlesere:

  • IE fra 6 til 10;
  • Chrome (Win/Mac/Linux);
  • Firefox (Win/Mac/Linux);
  • Safari (Win/Mac/Linux);
  • Opera (Win / Mac / Linux);
  • iPad og iPhone.
Hva annet er interessant? Automasjon. Du krysser av i boksene for hvilke nettlesere vi simulerer, merker av for "Oppdater automatisk", spesifiserer tidsintervallet og glemmer. Ikke noe ekstra. For de nysgjerrige, se på "bakgrunnssiden" i konsollen - alt er ikke dårlig logget der.

Åpen kilde. Hvis du vil tilpasse det selv, er alt du trenger:

  1. Åpne utvidelseslenken på Github;
  2. Klikk på "Last ned Zip" eller klon;
  3. På utvidelsessiden merker du av for "Utviklermodus";
  4. Klikk "Load unpacked extension..." og spesifiser banen til det utpakkede arkivet eller klonen;
Jeg vil sette stor pris på konstruktiv kritikk og forslag.

Det er bedre å se det en gang.

Hva er nettlesers fingeravtrykk? Eller nettleseridentifikasjon. En veldig enkel formulering er å tilordne en identifikator til nettleseren. Ordlyden er enkel, men ideen er veldig kompleks og interessant. Hva brukes den til? Hvorfor vil vi tilordne en ID til nettleseren?

  • Vi ønsker å ta hensyn til brukerne våre. Vi ønsker å vite om brukeren kom til oss for første gang, om han kom for andre eller tredje gang. Hvis brukeren kom for andre gang, ønsker vi å vite hvilke sider han besøkte og hva han gjorde før. Dette er ikke mulig med anonyme brukere. Hvis du har et journalføringssystem, logger en bruker på, vi vet alt om ham - vi kjenner kontoen hans, hans personlige data, vi kan knytte alle handlinger til denne brukeren. Alt er enkelt her. Når det gjelder anonyme brukere, blir ting mye mer komplisert.
  • Det andre scenariet er personlig reklame. Det er overalt nå. Vi går inn og plutselig viser de oss en annonse for noen paier som vi ønsket å kjøpe i går. Hvordan gjøres det? Dette gjøres gjennom brukeridentifikasjon.
  • Det tredje scenariet er internanalyse. Hvis du bruker, i tillegg til Google Analytics eller Yandex, dets eget selvskrevne analysesystem, Fingerprint JS og Browser Fingerprint, generelt, kan hjelpe deg med å oppnå nesten fullstendig identifikasjon av anonyme brukere. Du vil kunne se hva brukeren gjorde på nettstedet ditt, hvilke sider de besøkte, hvilke lenker de klikket osv. Og bygg et helhetsbilde basert på dette, et kart over brukerhandlinger. Alt dette oppnås ved hjelp av denne teknikken - Browser Fingerprinting.

Hvorfor ikke bare bruke http-informasjonskapsler til dette formålet? Det er veldig enkelt, og alle vet hvordan de skal gjøre det. Det fungerer, dere vet alle hvordan.

En bruker kommer til nettstedet ditt, vi leser informasjonskapselen hans, hvis det er en slags identifikator der, så hadde vi det allerede og vi vet hvem han er. Vi gjør all vår analyse, sporing osv. knyttet til denne brukeren.

Hvis det ikke er noen identifikator der, betyr det at brukeren kom til oss for første gang. Vi genererer en unik identifikator, GUI, binær streng noen form, vi skriver det i en informasjonskapsel, og så, når brukeren kommer neste gang, vil vi lese denne informasjonskapselen og forstå at denne brukeren kom til oss for andre, tredje og påfølgende gang.

Cookie har en stor ulempe- den kan rengjøres. Alle, selv en ikke-teknisk bruker, vet hvordan man sletter informasjonskapsler. Han klikker på Innstillinger, går inn og sletter den. Det er det, brukeren blir anonym for deg igjen, du vet ikke hvem han er.

Alle moderne nettlesere, til og med Internet Explorer, ser ut til å tilby en inkognitomodus. Dette er en modus hvor ingenting lagres, og når en bruker besøkte nettstedet ditt i denne modusen, etterlater det ingen spor. Neste gang han logger på i inkognitomodus, vil du igjen ikke vite hvem han er eller om du hadde ham før. De. http-informasjonskapsler vil ikke fungere i inkognitomodus.

Foreløpig, på grunn av populariteten til karakterer som Snowden, etc. mange mennesker foretrekker forskjellige personvernmoduser, anonymitet på nettet, moduser, plugins, hva som helst. Alt dette forhindrer sporing og identifikasjon på Internett. Mange brukere bruker dette uten å forstå hvorfor. De installerer det bare fordi det er moteriktig. Og de blir igjen anonyme for deg. Http cookies vil ikke fungere i dette tilfellet.

Hvordan har programmerere prøvd og prøver å løse dette problemet?

Det mest vellykkede prosjektet innen lagring av informasjon i informasjonskapsler slik at den ikke kan slettes, etter min mening, er evercookie-prosjektet, eller persistent cookie - en undeleteable cookie, en cookie som er vanskelig å slette. Essensen ligger i det faktum at evercookie ikke bare lagrer informasjon i én lagring, for eksempel en http-informasjonskapsel, den bruker all tilgjengelig lagring i moderne nettlesere. Og lagrer informasjonen din, for eksempel ID. Den begynner å bruke http cookies, skriver identifikatoren der, så, hvis Flash er tilgjengelig i nettleseren, bruker den lokale delte objekter for å skrive informasjon til den såkalte. Flash-informasjonskapsler.

Flash-informasjonskapsler inntil nylig ble ikke slettet når du slettet informasjonskapslene. Bare siste versjoner Google Chrome kan slette Flash-informasjonskapsler når du sletter vanlige informasjonskapsler. De. Inntil nylig var Flash-informasjonskapsler praktisk talt umulig å slette. Det var spesialside på macromedia-nettstedet, dit du måtte gå, klikker du på knappen: "Ja, jeg vil slette Flash-informasjonskapsler", og deretter slettes de, dvs. Uten denne siden var det umulig å rydde opp.

Deretter bruker evercookie Silverlight Cookies. De kalles ellers Isolated Storage. Dette er en spesiell tildelt plass på brukerens datamaskins harddisk hvor informasjonskapselinformasjon skrives. Det er umulig å finne dette stedet med mindre du vet den nøyaktige banen. Det er skjult et sted i dokumenter, Innstillinger, hvis på Windows, dypt i innvollene på datamaskinen. Og disse dataene kan ikke slettes ved å slette informasjonskapsler.

Lengre. Evercookie bruker nyskapende teknologi som PNG-informasjonskapsler. Poenget er at nettleseren returnerer et bilde der bytene til dette bildet koder for informasjonen du har lagret, for eksempel en identifikator. Dette bildet er tjent med et caching-direktiv for alltid, si, for de neste 50 årene. Nettleseren cacher dette bildet, og neste gang brukeren besøker, leser Canvas API bytene fra dette bildet og gjenoppretter informasjonen du ønsket å lagre i informasjonskapselen. At. Selv om brukeren har fjernet informasjonskapselen, vil det PNG-informasjonskapselkodede bildet fortsatt være i nettleserens hurtigbuffer, og Canvas API kan lese det ved et senere besøk.

Evercookie bruker all tilgjengelig nettleserlagring – moderne HTML 5-standard, Session Storage, Local Storage, Indexed DB og andre.

ETag-headeren brukes også - dette er en http-header, veldig kort, men du kan kode litt informasjon i den, og hvis Java er installert, brukes java presistence API.

Evercookie er en veldig smart plugin som kan lagre dataene dine nesten hvor som helst. For en vanlig bruker som ikke vet alt dette, er det rett og slett umulig å slette disse informasjonskapslene. Du må besøke 6-8 steder på harddisken og utføre en rekke manipulasjoner bare for å rense dem. Derfor vil den gjennomsnittlige brukeren, når han besøker et nettsted som bruker evercookie, mest sannsynlig ikke være anonym.

Til tross for alt dette, fungerer ikke evercookie i inkognitomodus. Når du går inn i inkognitomodus, lagres ingen data på disken, fordi det er den grunnleggende essensen av inkognitomodus - du må være anonym. Og evercookie bruker harddisklagring, som ikke fungerer i denne modusen.

FingerprintJS er et lite bibliotek jeg skrev som prøver å løse disse problemene. Jeg skal fortelle deg hvordan hun gjør det og hva som kom ut av det.

Jeg skrev det i 2012. Jeg jobbet da hos KupiKupon som Ruby-utvikler. Og jeg hadde som oppgave å lage et analysesystem som skulle ta hensyn til ikke bare innloggede brukere, dvs. de brukerne som er i systemet vårt, samt anonyme brukere. Nærmere bestemt, på nettstedet "KupiKupon" var det mange anonyme brukere, fordi folk ofte kom utenfra for å se på noen kuponger, rabatter, tilbud, de hadde ingen regnskap, og derfor sporingssystemet, systemet for sporing av besøkte sider, knappeklikk - alt dette fungerte ikke fordi brukerne var anonyme.

FingerprintJS bruker ikke informasjonskapsler i det hele tatt. Ingen informasjon lagres på harddisken til datamaskinen der nettleseren er installert. Den fungerer i inkognitomodus fordi den i utgangspunktet ikke bruker harddisklagring. Den har ingen avhengigheter, fungerer selv uten jQuery, og er 1,2 KB gzippet.

dette øyeblikket brukes i selskaper som Baidu, Google i Kina, MasterCard, nettsiden til den amerikanske presidenten, AddThis - et nettsted for hosting av widgets, etc.

Dette biblioteket ble raskt veldig populært. Den brukes av omtrent 6-7 % av alle de mest besøkte nettstedene på Internett for øyeblikket.

Jeg skal fortelle deg i detalj hvordan det fungerer. Essensen er at koden til dette biblioteket spør brukerens nettleser om alle de spesifikke og unike innstillingene og dataene for denne nettleseren og for dette systemet, for datamaskinen. Disse dataene settes sammen til en stor streng, og deretter mates de inn i hashing-funksjonen. Hashing-funksjonen tar disse dataene og gjør dem om til kompakte, vakre identifikatorer. Jeg skal fortelle deg i detalj hvordan dette fungerer.

Først leses userAgent-navigatoren. La oss si at den er avskåret her, den er vedlagt den siste linjen på trykket.

Nettleserspråket leses - hva er språket ditt - engelsk, russisk, portugisisk, etc. Også festet til fingeravtrykkslinjen.

Tidssonen leses, dette er antall minutter fra UTC:

Dette er -3, som viser seg å være Moskva.

Da hentes alle støttede HTML5-teknologier, d.v.s. Hver nettleser har forskjellig støtte. FingerprintJS prøver å finne ut hvilke som støttes og hvilke som ikke er det, og for hver teknologi blir resultatet av en avstemning for tilstedeværelsen av den teknologien og graden av støtte lagt til den resulterende fingeravtrykksfunksjonen.

SessionStorage, LocalStorage, IndexedDB, OpenDatabase og alle slags andre.

Det spørres etter brukerspesifikke og plattformspesifikke data, for eksempel doNotTrack-innstillingen (det er veldig ironisk at doNotTrack-innstillingen brukes spesifikt for sporing), cpuClass for prosessoren, plattformen og andre data.

Her kan det hende du har et problem logisk spørsmål– mange brukere har tross alt samme data? La oss si at brukeren bor i Moskva, han vil ha samme språk, nyeste Chrome, alt vil være nesten det samme, og alle disse linjene som ble mottatt på dette stadiet vil være de samme. Hvordan vil dette bidra til å identifisere brukeren?

Det er 2 flere måter som gir unikhet.

  • Den første er informasjon om plugins. Koden spør om tilstedeværelsen av alle installerte plugins på systemet. For hver plugin får du beskrivelsen og navnet, og også, som er veldig viktig, en liste over alle multimedietyper eller hovedtyper som støtter denne plugin. All denne informasjonen er kombinert til et stort utvalg av strenger, og denne matrisen er også sammenkoblet og lagt til fingeravtrykkstrengen. Som du forstår, har hver datamaskin sin egen liste over plugins, ganske unik, og versjonene av plugins kan være forskjellige, og listen over typer støttet av main vil også være annerledes.

  • Den neste tingen er at den såkalte legges til fingeravtrykkslinjen. Fingeravtrykk på lerret. Dette er en annen teknikk som kan forbedre nøyaktigheten. Dens essens ligger i det faktum at en bestemt tekst med visse effekter lagt på den er tegnet på et skjult Canvas-element. Og så blir det resulterende bildet serialisert til en byte-array og konvertert til base64 ved å bruke canvas.toDataULR()-kallet.
Spørsmålet som dukker opp her er: hvordan hjelper dette også ved identifisering? Det som var uventet for meg var forskningen jeg fant. Det antyder at skriftgjengivelse, spesielt i Canvas API, er veldig plattformavhengig. Eksternt identisk identiske bilder, tegnet i forskjellige nettlesere vil bli konvertert til en annen byte-array. Hvorfor? Dette avhenger av prosessor, skjermkort, skjermkortdrivere, systembiblioteker som Direct X, skriftgjengivelsessystemer, skygger - alt dette kan være forskjellig på hver datamaskin, så den resulterende byte-matrisen vil være forskjellig på nesten hver datamaskin, som vil ha forskjellig maskinvare- og programvarefylling. Og denne lange strengen som ble oppnådd under Canvas-serialisering vil bli festet til det endelige trykket, og vi vil få en enorm streng.

Slik fungerer det. Vi mottar alle disse dataene. Deretter sender vi dem til hashing-funksjonen, FingerprintJS bruker nomo hash2, og utgangen er et 32-bits tall. Dette er ID-en din. Når en bruker besøker nettstedet vårt, blir han derfor tildelt et nummer. Du leser dette nummeret og bruker det som du ønsker - du baserer analysene dine på det osv.

Spørsmålet er: hvor unik og nøyaktig er definisjonen? Studien den var basert på ble gjort av Electronic Frontier Foundation, de hadde et prosjekt kalt Panopticlick. Det står at unikheten er omtrent 94 %, men i de virkelige dataene jeg hadde var unikheten omtrent 90 %-91 %.

Biblioteket begynte å bli brukt av mange mennesker og bedrifter, og med tiden dukket det opp en del mangler. De. hun er ikke perfekt, hun har feil. Den største ulempen er at identifikasjonsnøyaktigheten bare er 90 %, men det er andre ulemper.

  1. Bruker agent. I moderne nettlesere endres UserAgent veldig ofte; en ny versjon av Google Chrome utgis annenhver måned. UserAgent vil endres fordi versjonen av Google Chrome som er beskyttet i UserAgent vil være annerledes. Dette betyr at UserAgent vil påvirke det endelige fingeravtrykket. Hvis det kommer ut ny nettleser, vil det resulterende fingeravtrykket endres fordi det fra FingerprintJS sitt synspunkt vil være en ny bruker.
  2. IPhone, iPad og andre Apple-produkter. Faktum er at de er veldig ensartede, identiske med tanke på maskinvareimplementering. De har alle de samme prosessorene. Hvis vi selvfølgelig tar en enkelt modell, la oss si IPhone 5S, vil alle IPhone 5S ha den samme prosessoren, den samme grafikkakseleratoren og de samme systembibliotekene, og pluginene vil være de samme, men faktisk er de ikke der. Dette betyr at byte-arrayen mottatt fra Canvas Fingerprint vil være den samme for alle versjoner av iPhone 5S, noe som betyr at identifikasjonsnøyaktigheten for Apple-produkter vil være lavere.
  3. Internet Explorer og Kina. Jeg mistenkte ikke at dette problemet eksisterte, men så fant jeg ut at det er mange gamle versjoner av IE i bruk i Kina, og for å få en liste over plugins må du ha navnene på alle plugins avansere. For for å sjekke om en plugin finnes eller ikke, er det rett og slett umulig å kalle opp for eksempel navigator.plugins i IE. Dette vil ikke fungere. Du må ta og prøve å instansiere hver plugin som et aktivt eks-objekt. Hvis det er opprettet, er alt i orden. Hvis det oppstår en feil, betyr det at pluginene ikke er installert i IE. Jeg hadde en liste over plugins for IE, men den var kort - omtrent ti plugins. Jeg hadde ikke en definisjon av de pluginene som er populære i Kina, som QQ, baidu osv. Det er mange plugins som bare brukes der. Jeg sjekket ikke disse pluginene, og listen over plugins for Kina var spesifikt mindre.
  4. En annen ulempe med den første versjonen er mangelen på integrasjon med Flash og Silverlight, og integrasjon med disse pluginene lar deg forbedre kvaliteten på Fingerprint.
  5. Og den siste, men ganske alvorlige tingen som nylig traff FingerprintJS, er at fra og med versjon 42, sluttet Google Chrome rett og slett å aktivere alle de pluginene som fungerer gjennom NPAPI. NPAPI er en veldig gammel API for instansiering av plugins, den ble utviklet av Nextkey. Det kalles "Nextkey plugin API". Alle pluginene som fungerer og er avhengige av denne protokollen, på denne APIen, har sluttet å laste, og derfor vises verken Silverlight eller Java, og disse to pluginene er de mest populære, som fungerer gjennom NPAPI, ikke i FingerprintJS - de er ikke definert på noen måte, og listen over hovedtypene deres vises heller ikke. Dette betyr at i Chrome 42 og eldre er nøyaktigheten til FingerprintJS redusert på grunn av dette problemet.
Derfor, etter å ha analysert alt dette, og nå bruker jeg også FingerprintJS, kom jeg til den konklusjonen at det er på tide å utvikle et nytt bibliotek som praktisk talt vil være blottet for alle eksisterende mangler.

Jeg begynte å lage den ganske nylig, utvikling er i gang på github.

Hvordan bestemmer hun seg eksisterende problemer? Det viktigste er at fasehashing eller lokalsensitiv hashing, eller fuzzy hashing brukes. Den typen hashing som ikke endres, selv om i normal hashing, hvis du endrer bare én byte av inngangsinformasjonen, vil utdatastrengen også endre seg, og det på en dramatisk måte. Dette skjer ikke i fasehashing; det er en sensitivitetsterskel der en viss prosentandel av innkommende data kan endres uten å påvirke det utgående fingeravtrykket. La oss si at hvis bare nettleserversjonen har endret seg i UserAgent, dette skjer veldig ofte, for eksempel i Chrome, vil det resulterende fingeravtrykket være det samme, fordi versjonen er 3 eller 5% av den totale lengden fra UserAgent.

For det andre bruker FingerprintJS 2 definisjonen av installerte fonter, alle fonter som er installert på systemet. Hvordan er dette nyttig? Hvis du installerte programmet, la oss si adobe pdf, så legger du til fonter i systemet.

Hvis du satser Microsoft Office, legger du til fonter i systemet; hvis du installerte et Quick-kontor som har sine egne fonter, legger du igjen fonter til systemet. Og så du kan ha to absolutt identiske datamaskiner, men den ene har Office installert og den andre ikke. Dette betyr at på den første, der det ikke er Office, vil det være 320 tilgjengelige fonter, og på den der det er Office - 1700 fonter. Og det betyr at du kan få alle skriftene som er på denne datamaskinen, igjen, for den endelige utskriften. Dette vil være to forskjellige utskrifter fordi skriftene er forskjellige.

Standard er Flash, liten swf-fil 916 byte i størrelse. Den mottar en liste over alle installerte fonter, og i plattformavhengig rekkefølge, fordi de er tilgjengelige i systemet, så de vil bli returnert. Hvis Flash ikke er installert, brukes denne teknikken, den kalles site chanel technic. Den ble først publisert på lalit.org. Dette oppdager tilstedeværelsen av en skrift kun ved hjelp av javascript. Hvordan gjøres det? For hver referansefont som er angitt som standard i nettleseren eller systemet, måles dens bredde og høyde, og denne matrisen av bredde og høyde lagres. Deretter brukes en annen font på den skjulte teksten (teksten er forresten enorm, for eksempel 72 piksler). Hvis denne fonten er i systemet, vil teksten endre dimensjonene riktig, og koden som endrer høyde og bredde vil få en ny matrise med høyde og bredde. Hvis den er forskjellig fra referansen, fra den som ble mottatt da du ba om standardfonten, er denne fonten installert. Hvis den ikke er annerledes, eksisterer ikke denne fonten.

Veldig enkel idé, men det fungerer. For øyeblikket kan denne koden pålitelig identifisere rundt 500 fonter uten ved hjelp av Flash. Og følgelig vil datamaskinen som har Microsoft Office og den som ikke har det, identifiseres annerledes i FingerprintJS 2 på grunn av denne teknikken.

Den tredje forskjellen er WebGL Fingerprint. Dette er en utvikling av Canvas Fingerprint-ideen. Essensen er at 3D-trekanter tegnes (det er ikke veldig synlig på lysbildet, men det er 3D). Effekter, gradienter, ulike anisotropiske filtreringer, etc. brukes på den. Og så konverteres den til en byte-array. Den resulterende byte-arrayen, som med Canvas Fingerprint, vil være annerledes på mange datamaskiner. Deretter legges informasjon om plattformavhengige konstanter som er definert i WebGL til denne byte-matrisen. De. WebGL har et sett med konstanter som må inkluderes i implementeringen. Dette er fargedybden maksimal størrelse teksturer... Det er mange av disse konstantene, dusinvis av dem. Koden avhører alle disse konstantene, og selvfølgelig vil disse konstantene være forskjellige på Android-enheter, hvor fargedybden kan være annerledes enn på Windows eller Linux. Det spørre alle disse konstantene, alt legges opp igjen til et stort utvalg, og det hele blir lagt til et serialisert 3D-trekantbilde som er tegnet ved hjelp av maskinvareeffekter.

Det er også et spørsmål her: hvordan hjelper dette å identifisere? 3D-grafikk er veldig plattformavhengig, versjonen av drivere, versjonen av skjermkortet, OpenGL-standarden i systemet, versjonen av shader-språket - alt dette vil påvirke hvordan dette bildet vil bli tegnet inn. Og når den konverteres til en byte-array, vil den være annerledes på mange datamaskiner.

Hvorfor er WebGl Fingerprint viktig? Fordi IOS 8.1 støtter WebGL, og dette hjelper til med å identifisere IOS-enheter, identifikasjonsproblemet som jeg nevnte. Derfor forbedrer WebGL nøyaktigheten til Fingerprint.

Hva annet gjenstår å implementere?

Biblioteket er som sagt under utvikling og ikke alle tingene jeg kunne tenke meg å gjøre i det er gjort. Det er allerede et lite samfunn av utviklere rundt det. Jeg inviterer forresten alle til å delta i utviklingen - det er veldig interessant, vi er veldig uformelle, alle kommer med ideer, det er ganske interessant der.

Hva gjenstår å implementere? WebRTC-fingeravtrykk.

WebRTC er en standard for node-til-node-kommunikasjon over lydstrømmer, eller det er en standard for lydkommunikasjon i moderne nettlesere. Den lar deg foreta lydanrop osv., den støttes i FireFox og vil snart bli støttet i andre nettlesere.

Implementeringen av WebRTC-standarden er også plattformavhengig; den vil avhenge av skjermkortet som er installert i systemet, av lyddrivere osv. Derfor, ved å måle forskjellige nivåer av latens, forskjellige nivåer av WebRTC-støtte og konstanter som er hardkodet i dette formatet, kan du få forskjellige endelige fingeravtrykk for forskjellige datamaskiner.

Flere IE-plugins vil bli brukt. Vi vil bruke de pluginene som er populære i forskjellige land– Kina, India osv., dvs. voksende informasjonsmarkeder. Den første versjonen tok ikke nok hensyn til dette problemet, men dette vil bli løst i den andre versjonen.

Mer informasjon vil bli samlet inn om OS. Hvordan skal vi gjøre dette? Integrasjon med Flash og Silverlight vil bli brukt. Flash lar deg få informasjon om systemet, for eksempel kjerneversjon, patch på kjernenivå. Silverlight, hvis på Windows, lar deg få Windows-versjon, bilde, Windows-nummer, alt tilgjengelig gjennom Silverlight.

Noen få ord om Silverlight, hvorfor er integrasjon med sliverlight også ganske viktig? Kanskje i Russland er ikke Silverlight-pluginen veldig populær, men i USA, for eksempel, er det en videostrømmetjeneste Netflix som sender video, og jeg vet med sikkerhet at de bruker Silverlight. På grunn av det faktum at den støtter DRM (dette er et system for å begrense digitale rettigheter til innhold), fordi... Netflix viser ofte ulike nye Hollywood-filmer, de bruker Silverlight for å sikre at denne videoen ikke går viralt på internett. Derfor har mange stasjonære Internett-brukere i USA installert Silverlight-pluginen, som forresten også er tilgjengelig på Mac, i tillegg til Windows.

Å oppdage tilstedeværelsen av flere skjermer vil bli implementert. Hvis vi ber om dimensjonene via javascript, får vi rett og slett to tall – dette er bredden og høyden på skjermen. Hvis vi gjør det samme via Flash API, Actionscript API, får vi en rekke arrays. Dette betyr at hvis flere skjermer er installert, hvor hver undergruppe er skjermstørrelsen til hver skjerm. Hvis utvikleren sitter ved fem skjermer, vil han motta en rekke arrays med fem elementer, så vi vet at personen sitter ved fem skjermer, og ikke på hovedskjermen, som javascript ville returnert.

Alle disse dataene til sammen gjør at vi for øyeblikket kan oppnå en bestemmelsesnøyaktighet på omtrent 94-95%. Men som du forstår, er dette utilstrekkelig identifikasjonsnøyaktighet. Dette reiser spørsmålet: hvordan kan dette forbedres, og kan det forbedres? Jeg tror det er mulig. Målet med dette prosjektet er å oppnå 100 % identifikasjon slik at du kan stole på Fingerprint i 100 % av tilfellene og garantert si: «Ja, denne brukeren kom til oss; ja, jeg vet alt om ham, til tross for at han bruker inkognitomodus, tor nettverk..." Det spiller ingen rolle, alt vil bli bestemt.

For å gjenkjenne brukeragentstrengen, bruk nettskjema under. Lim inn strengen din i feltet Bruker agent, eller klikk på linken Min brukeragent for å lære og gjenkjenne nettleserstrengen din.

Merk følgende! JavaScript er deaktivert.
Ingen støtte aktivert JavaScript-funksjon Bruker agent arbeid vil ikke.
Aktiver i nettleseren din JavaScript-støtte og oppdater siden.

  • Brukeragentdetaljer:

Hva er en brukeragent?

Bruker agent er en streng som nettlesere bruker som navn, den inneholder ikke bare nettlesernavnet, men også operativsystemversjonen og andre parametere. Ved å bruke brukeragenten kan du bestemme ganske mange parametere, for eksempel navnet på operativsystemet, versjonen og bitheten. Du kan også bestemme selve enheten som nettleseren er installert på; det kan være en datamaskin, nettbrett, iPhone, iPad eller annen mobil enhet. Ved hjelp av brukeragenten kan du også bestemme funksjonene som nettleseren støtter, for eksempel JavaScript, Java Applet, Cookie, VBScript og Microsofts ActiveX.

Hvordan gjøres avgjørelsen?

Hvordan er det mulig å definere så mange parametere fra en liten linje? De fleste kjente brukeragentstrenger er i databasen browscap.org, hvis en slik streng finnes i databasen, kan du få mange parametere, for eksempel hva slags nettleser, hvilken versjon, hvilket operativsystem osv. Brukeragentdatabasen oppdateres og støttes kontinuerlig, den kan lastes ned helt gratis på nettsiden browscap.org.

Hvordan og hvem bruker brukeragentdata?

Data fra brukeragenten brukes av webserveren for å bestemme nettleserversjonen for å vise nettsiden så korrekt som mulig. Selv om denne metoden allerede er utdatert, fortsetter noen nettsteder å bruke den til å identifisere mobile enheter. Denne metoden er erstattet av adaptiv design.

Hvordan endre brukeragent?

Hvordan endre nettleserstrengen til din egen? Når må du kanskje endre brukeragenten? Deretter, når du mistenker at nettstedet viser informasjon basert på din versjon av nettleseren og ikke lar deg se den fullstendige versjonen av nettstedet på noen måte, må du endre brukeragenten og prøve å få tilgang til nettstedet igjen .

Hvordan endre brukeragent i Mozilla Firefox

Relevant for versjon Mozilla Firefox 34.0 og høyere. I adressefeltet skriv about:config og lag en linje kalt general.useragent.override, det er ingen slik linje som standard. Verdien av linjen må inneholde det som skal vises i brukeragenten.

Hvordan endre brukeragent i Chrome

Relevant for versjon Google Chrome 26.0.1410.64 og høyere. Du må starte en nettleser med --user-agent=""-bryteren og spesifisere den nye brukeragentstrengen i anførselstegn. For eksempel, i Windows kan du starte den ved å trykke Win+R og i "Åpne"-feltet skriv inn chrome --user-agent="MyBrowser" . Du kan sjekke gjeldende verdi ved å skrive inn about: i adressefeltet.

Hvordan endre brukeragent i Opera

Relevant for versjon Opera 12.15 og høyere. Du må skrive opera:config#UserPrefs|CustomUser-Agent i adressefeltet og fylle ut det uthevede feltet "Custom User-Agent" med den nye verdien for brukeragentlinjen. Deretter må du bla til bunnen av siden og klikke på "Lagre".

Hvordan endre brukeragent i Safari

Relevant for versjon Apple Safari 5.1.7 og høyere. Du må gå til "Utvikling"-menyen. For å se menylinjen må du trykke Alt. Hvis "Utvikling"-menyen ikke vises, må du aktivere den; for å gjøre dette, gå til "Rediger" - "Innstillinger", gå til fanen "Tillegg" og merk av i boksen ved siden av "Vis utviklingsmeny i menylinjen." Trykk så Alt igjen og velg "Utvikling" - "Brukeragent". Det er allerede noen alternativer å velge mellom, hvis ingen av dem passer deg, velg "Annet" og skriv inn din brukeragentlinje.

Hvordan endre brukeragent i Internet Explorer

Relevant for versjon Internet Explorer 10 og høyere. Du må trykke F12, "Utviklerverktøy"-panelet åpnes, velg "Verktøy"-menyen - "Endre brukeragentstreng". Det er allerede flere alternativer å velge mellom; hvis ingen av dem passer deg, velg "Spesial...". I feltet Friendly Name skriver du inn et hvilket som helst navn, og i feltet User Agent String skriver du inn ønsket linje bruker agent. Klikk deretter "Legg til", velg den i listen og klikk "Installer". Den eneste ulempen med denne metoden er at den fungerer midlertidig til nettleseren lukkes; etter å ha startet nettleseren igjen, må du trykke F12 igjen og velge det opprettede alternativet fra hurtigvalglisten.

En annen måte å endre brukeragentlinjen på er å korrigere den i registeret, så lagres innstillingene selv etter at nettleseren lukkes, men det er ulemper denne metoden. Å endre brukeragentstrengen til en helt vilkårlig vil ikke fungere. Faktum er at denne linjen består av forskjellige registerverdier, som er atskilt fra hverandre med et semikolon (";"). Hvis verdien må endres for alle brukere, så er dette HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\ User Agent\ , og for én nåværende bruker er her HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ Internett-innstillinger\5.0\ Brukeragent\ . Som standard er det bare én nøkkel, standard. Du må lage tre " strengparametere" Kompatibel , plattform og versjon . For at endringene skal tre i kraft må du starte nettleseren på nytt. Angi disse verdiene for eksempelet:

  • Standard = "Mozilla/5.0"
  • Kompatibel = "kompatibel"
  • Plattform = "Windows NT 6.1"
  • Versjon = "MSIE 10.0"

Avhengig av behovet, erstatt de angitte verdiene med de nødvendige og ikke glem å starte nettleseren på nytt. Du kan lese mer om dette på nettsiden Microsoft.

Hvordan endre User Agent på mobile enheter

I mange mobile enheter Endringer i brukeragentlinjen er allerede gitt ved bruk av standard nettleserinnstillinger.

Hvordan endre User Agent i en standard nettleser for Android

I standard nettleser Android-streng useragent endres i nettleserinnstillingene, alternativet UAString. Men som standard er dette menyelementet skjult. Å vise denne menyen, må du skrive about:debug i adressefeltet og klikke Søk eller Gå (på det virtuelle tastaturet). Gå deretter til innstillingene igjen: Innstillinger » UAString, nå er dette alternativet tilgjengelig for valg.

Hvordan endre brukeragent i Dolphin Browser

Relevant for versjon Dolphin Browser 11.4.2 og høyere. Endringene leveres av standardinnstillingene i menyen "Innstillinger" » "Spesial" » "Personliggjøring" » "Brukeragent". Det er flere alternativer å velge mellom: "Android", "Desktop", "iPhone", "iPad", "Egendefinert". Siste alternativ lar deg angi en vilkårlig brukeragentstreng.

Hvordan endre User Agent i PHP

Relevant for versjon PHP 5.6 og høyere. User Agent i PHP kan endres på to måter. Den første er i php.ini-filen, endre parameteren user_agent. Den andre måten er å bruke stream_context_create under skriptutførelse.

Eksempelbruk for file_get_contents() :

$opts = [ "http" => ["user_agent" => "min brukeragent"] ]; $context = stream_context_create($opts); file_get_contents("http://example.com/", false, $context);

Eksempelbruk for såpeklient:

$opts = [ "http" => ["user_agent" => "min brukeragent"] ]; $context = stream_context_create($opts); $soapclient = new SoapClient("http://example.com/wsdl/", ["stream_context" => $context]);

Eksempler på brukeragentstrenger

Desktop-nettlesere:

  • Mozilla Firefox 36 (Win 8.1 x64): Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
  • Google Chrome 53 (Win 10 x64): Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, som Gecko) Chrome/53.0.2785.116 Safari/537.36
  • Google Chrome 40 (Win 8.1 x64): Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, som Gecko) Chrome/40.0.2214.115 Safari/537.36
  • Opera 40 (Win 10 x64): Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, som Gecko) Chrome/53.0.2785.101 Safari/537.36 OPR/40.0.2308.62
  • Opera 12.17 (Win 8 x64): Opera/9.80 (Windows NT 6.2; WOW64) Presto/2.12.388 Versjon/12.17
  • Apple Safari 5.1 (Win 8 x64): Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.57.2 (KHTML, som Gecko) Versjon/5.1.7 Safari/534.57.2
  • Internet Explorer 11 (Win 10 x64): Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; rv:11.0) som Gecko
  • Internet Explorer 11 (Win 8.1 x64): Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; ASU2JS; rv:11.0) som Gecko
  • Microsoft Edge (Win 10 x64): Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, som Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586

Mobilnettlesere:

  • iPhone: Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 som Mac OS X) AppleWebKit/536.26 (KHTML, som Gecko) Versjon/6.0 Mobil/10A5376e Safari/8536.25
  • Android 2.3.5 (Philips W632): Mozilla/5.0 (Linux; U; Android 2.3.5; ru-ru; Philips W632 Build/GRJ90) AppleWebKit/533.1 (KHTML, som Gecko) Versjon/4.0 Mobile Safari/533.1

Nettbrett:

  • iPad: Mozilla/5.0 (iPad; CPU OS 6_0 som Mac OS X) AppleWebKit/536.26 (KHTML, som Gecko) Versjon/6.0 Mobile/10A5376e Safari/8536.25

Søkemotorer:

  • Yandex: Mozilla/5.0 (kompatibel; YandexBot/3.0; +http://yandex.com/bots)
  • Google: Mozilla/5.0 (kompatibel; Googlebot/2.1; +http://www.google.com/bot.html)
  • Bing: Mozilla/5.0 (kompatibel; bingbot/2.0; +http://www.bing.com/bingbot.htm)
  • Yahoo! Slurp: Mozilla/5.0 (kompatibel; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
  • Mail.ru: Mozilla/5.0 (kompatibel; Linux x86_64; Mail.RU_Bot/Fast/2.0; +http://go.mail.ru/help/robots)
  • Sputnik: Mozilla/5.0 (kompatibel; SputnikBot/2.3; +http://corp.sputnik.ru/webmaster)

Roboter, roboter, analysatorer:

  • Ahrefs: Mozilla/5.0 (kompatibel; AhrefsBot/5.0; +http://ahrefs.com/robot/)
  • Majestic: Mozilla/5.0 (kompatibel; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+)
  • SMBot: Mozilla/5.0 (kompatibel; SMBot/1.0; +http://www.similartech.com/smtbot)
  • linkdex: Mozilla/5.0 (kompatibel; linkdexbot/2.2; +http://www.linkdex.com/bots/)
  • Exabot: Mozilla/5.0 (kompatibel; Exabot/3.0; +http://www.exabot.com/go/robot)
  • StatOnline.ru: Mozilla/5.0 (kompatibel; StatOnlineRuBot/1.0)