HTTP referer

С Википедије, слободне енциклопедије

HTTP referer (изворно је погрешно написана реч енгл. referrer, али је тај облик задржан) је HTTP заглавље које идентификује адресу веб странице (тј. URI или IRI) који је повезан са извором који се тражи. Провером Реферер, нова веб страница можете да види одакле је захтев потекао.

Најчешће ово значи да када корисник кликне на хипервезу у веб прегледачу, прегледач шаље хатев серверу на којем је одредишна страница. Захтев обухвата поље извора (referrer), које упућује на последњу страницу на којој је корисник био (на ону где је кликнут линк).

Referrer логовање је дозвољава веб-сајтовима и веб-серверима да идентификују одакле су људи који их посећују, у промотивне или статистичке сврхе.[1]

Referer се понекад користи у борби против cross-site фалсификованих захтева, али такви безбедносни механизми су ограничени лакоћом онемогућавања или фалсификовање referer[2]. Deferer је средсто да се скину детаљи који се односе на сајт, тако да циљани вебсајт не може идентификује страницу са које потиче захтев.

Порекло појма referer[уреди | уреди извор]

Погрешно писање речи referer настало је у првобитном предлогу компјутерског научника Филипа Халам-Бејкер да се уврсти поље у HTTP спецификацију.[3] Да се referer погрешно спелује је запечаћено у време његовог укључивања у {{Request for Comments}}standards документу RFC 1945; Коаутор документа, Рој Филдинг, је приметио да ни "referrer" ни погрешно написан "referer" нису били препознати од стране Unix правописног стандарда.[4] "Referer" је од тада постао широко употребљиван за спеловање у индустрији када се причало о HTTP referers; употреба погрешно написане речи није универзална, иако, правилно написан "referrer" се користи у неким веб спецификацијама као што је Document Object Model.

Детаљи[уреди | уреди извор]

Приликом посете вебстраници, referer или страница на коју се односи је URL претходне вебстранице на којој се налазио линк ка посећеној страни.

Уопштено, referer је URL ставке која претходила захтеву. Referer за слику, на пример, је обично HTML страница на којој се она налазила. Поље referer-а је опциони део HTTP захтева послат од странзе веб прегледача веб серверу.[5]

Многи вебсајтови чувају refererе као део настојања да прате своје кориснике. Већина веб софтвера за анализу записа може да анализира ову информацију. Зато што информације које садржи referer могу да наруше приватност, неки веб прегледачи дозвољавају корисницима да онемогуће слање оваквих информација.[6] Неки прокси и фајервол софтвери такође филтрирају овакве информације, како би избегли објављивање приватних веб сајтова. Ово може проузроковати проблеме: неки веб сервери блокирају делове својих вебсајтова веб прегледачима који не шаљу одговарајуће referer информације, како би спречила објављивање или неовлашћено коришћење слика енгл. bandwidth крађа. Неки прокси софтвери имају могућност да пруже најзаступљеније адресе циљаног вебсајта као referer, што углавном спречава споменут проблем без откривања последње посећеног веб сајта корисника.

У последње време многи блогови су почели да објављују referer информације како би се повезали са људима који њих линкују, и самим тим наставили разговор. Ово је довело, заузврат, до пораста referer спама: слање лажних referer информација како би се популаризовао вебсајт спамера.

Многи порнографски сајтови који се наплаћују користе referer информације како би се осигурали. Само веб прегледачи који долазе из малог скупа одобрених страница (за пријављивање) је дозвољен приступ; ово олакшава размену материјала унутар групе сајтова који сарађују. Referer заваравање се често користи да се добије бесплатан приступ сајтовима који се наплаћују. Могуће је приступтити referer информацијама са клијентске стране користећи document.referer у JavaScript-у.[7]

Ово се може користити, на пример, да се персонализује веб страница на основу користичких упита. Међутим, referer поље не обухвата увек упите, као на пример када се користи Гугл енгл. Google) прегледач са https застићеним протоколом.[8]

Скривање реферера[уреди | уреди извор]

Већина веб сервера чува евиденцију саобраћаја и чува HTTP енгл. referer који му шаље веб прегледач за сваки захтев. Ово поставља бројна питања о приватности, а као резултат, велики број система је створен да спречи да се веб серверима шаљу прави URL. Ови системи раде или тако што бришу поље енгл. referer или тако што мењају податке нетачним. Генерално, интернет сигурност шаљу празно поље уместо енгл. referer података , док веб сервери мењају га са лажним URL, обично својим. Ово, наравно, покреће проблем referrer спама. Технички детаљи обе методе су прилично уједначени – софтверске апликације се понашају као прокси сервер и манипулише HTTP енгл. referer URL њихове вебсајт адресе. Неки веб прегледачи дају своје коринике опцију да искључе referer поље у загавље.[6]

Генерално, Интернет безбедносних решења празне реферер података, а веб-базирани сервери га замене лажним URL, најчешће своје. То, наравно, повећава проблем реферер спам. Технички детаљи обе методе су прилично уједначени - софтверских апликација се понаша као проки сервер и манипулишу HTTP захтев, а веб-заснованих метода учитавања веб сајтови унутар оквира, изазива веб бровсер да пошаље URL реферер свог веб адресу. Већина веб прегледача не шаљу referrer поље када они им се упућује да преусмере страну коришћења Освежи поља. Ово не укључује неке верзије Opera и многе мобилне веб прегледаче. Ипак, ова метода преусмеравања не препоручује World Wide Web Consortium енгл. W3C.[9]

Ако се вебсајту приступа са (енгл. HTTP Secure) конекцијом и линк указује било где изузев друге сигурне локације, онда referer поље није послато.[10]

Предстојећи стандард HTML5 ће подржавати атрибут/вредност rel = "noreferrer" у како би се упутио агент корисника да не шаље referer.[11]

Референце[уреди | уреди извор]

  1. ^ Kyrnin, Jennifer (10. 4. 2012). „Referrer - What is a Referrer - How do HTTP Referrers Work?”. About.com. Архивирано из оригинала 29. 05. 2013. г. Приступљено 20. 3. 2013. 
  2. ^ Wharton, David (29. 10. 2007). „XSRF: Checking HTTP Referer Header Is Not Enough”. Dell SecureWorks. Архивирано из оригинала 8. 3. 2013. г. Приступљено 20. 3. 2013. 
  3. ^ Hallam-Baker, Phillip (21. 9. 2000). „Re: Is Al Gore The Father of the Internet?”. alt.folklore.computers. Приступљено 20. 3. 2013. 
  4. ^ Fielding, Roy (9. 3. 1995). „Re: Referer: (sic)”. ietf-http-wg-old. Приступљено 20. 3. 2013. 
  5. ^ „Hypertext Transfer Protocol -- HTTP/1.1 (RFC 2616 § 14.36)”. IETF. јун 1999. Приступљено 20. 3. 2013. „The Referer[sic] request-header field allows the client to specify […] the address (URI) of the resource from which the Request-URI was obtained […] 
  6. ^ а б „Network.http.sendRefererHeader”. MozillaZine. 10. 6. 2007. Приступљено 20. 3. 2013. 
  7. ^ „HTML DOM Document referrer Property”. w3schools.com. Приступљено 20. 3. 2013. 
  8. ^ Gundersen, Bret (19. 10. 2011). „The Impact of Google Encrypted Search”. Adobe Digital Marketing Blog. Приступљено 20. 3. 2013. [мртва веза]
  9. ^ „HTML Techniques for Web Content Accessibility Guidelines 1.0: The META element”. W3C. 6. 11. 2000. Приступљено 20. 3. 2013. 
  10. ^ „Hypertext Transfer Protocol -- HTTP/1.1: Encoding Sensitive Information in URI's (RFC 2616 § 15.1.3)”. IETF. јун 1999. Приступљено 20. 3. 2013. „Clients SHOULD NOT include a Referer[sic] header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol 
  11. ^ „4.12 Links — HTML Living Standard: 4.12.5.8 Link type "noreferrer". WHATWG. 20. 3. 2013. Приступљено 20. 3. 2013.