Ako používať referenčné zariadenie HTTP

Veci, ktoré môžete urobiť s procesom referer

Informácie, ktoré vidíte napísané na webových stránkach, sú len časťou údajov, ktoré tieto stránky prenášajú, keď cestujú z webového servera do prehliadača osoby a naopak. Existuje tiež dostatočné množstvo prenosu dát, ktoré sa deje za scénami - a ak viete, ako získať prístup k týmto údajom, môžete ho použiť zaujímavým a užitočným spôsobom! V tomto článku sa pozrieme na jeden konkrétny údaj, ktorý sa prenáša počas tohto procesu - referenta HTTP.

Čo je to odkazovač HTTP?

Referentor HTTP je údaje, ktoré prechádzajú webovými prehliadačmi na server, aby vám oznámili, na ktorú stránku sa čitateľ nachádzal predtým, ako prišli na túto stránku. Tieto informácie je možné použiť na vašich webových stránkach s cieľom poskytnúť mimoriadnu pomoc, vytvoriť špeciálne ponuky pre cieľových používateľov, presmerovať zákazníkov na relevantné stránky a obsah alebo dokonca zabrániť návštevníkom prichádzať na vaše stránky. Môžete tiež použiť skriptovacie jazyky ako JavaScript, PHP alebo ASP na čítanie a vyhodnotenie informácií o sprostredkovaní.

Zhromažďovanie informácií o referentore pomocou PHP, JavaScript a ASP

Takže ako zhromažďujete tieto údaje HTTP referer? Tu je niekoľko metód, ktoré môžete použiť:

PHP ukladá referenčné informácie v systémovej premennej nazývanej HTTP_REFERER. Ak chcete zobraziť referendu na PHP stránke, môžete napísať:

ak (isset ($ _ SERVER ['HTTP_REFERER'])) {
echo $ _SERVER ['HTTP_REFERER'];
}

Toto skontroluje, či má premenná hodnotu a potom ju vytlačí na obrazovku. Namiesto echo $ _SERVER ['HTTP_REFERER']; použili by ste skriptové riadky na kontrolu rôznych referentorov.

JavaScript používa DOM na čítanie referer. Rovnako ako u PHP, mali by ste skontrolovať, či má referentor hodnotu. Ak však chcete túto hodnotu manipulovať, mali by ste ju najskôr nastaviť na premennú. Nižšie uvádzame, ako by ste zobrazili referer na svoju stránku pomocou jazyka JavaScript. Všimnite si, že DOM používa alternatívne pravopis referencie a pridáva tu extra "r":

if (document.referrer) {
var myReferer = document.referrer;
document.write (myReferer);
}

Potom môžete použiť referentora v skriptoch s premennou myReferer .

ASP, podobne ako PHP, nastavuje referer v systémovej premennej. Tieto informácie môžete zhromaždiť takto:

if (Request.ServerVariables ("HTTP_REFERER")) {
Dim myReferer = Request.ServerVariables ("HTTP_REFERER")
Response.Write (myReferer)
}

Môžete použiť premennú myReferer na prispôsobenie skriptov podľa potreby.

Akonáhle máte referendu, čo s ním môžete robiť?

Získanie údajov je teda krok 1. Ako sa vám to podarí, bude závisieť od vašej konkrétnej stránky. Ďalším krokom je samozrejme hľadanie spôsobov, ako tieto informácie použiť.

Akonáhle budete mať referenčné údaje, môžete ich použiť na skriptovanie vašich stránok mnohými spôsobmi. Jednoduchá vec, ktorú môžete urobiť, je jednoducho zadať miesto, odkiaľ si myslíte, že návštevník prišiel. Iste, to je docela nudné, ale ak potrebujete vykonať nejaké testy, môže to byť dobrý vstupný bod pre prácu.

Čo je zaujímavým príkladom je, keď používate referendu na zobrazenie rôznych informácií v závislosti od toho, odkiaľ prišli. Môžete napríklad urobiť nasledovné:

Zablokujte používateľov pomocou .htaccess podľa referencie

Z bezpečnostného hľadiska, ak sa na vašom webe vyskytuje veľa spamových odkazov z jednej domény, pomôže to jednoducho zablokovať túto doménu z vašich stránok. Ak používate Apache s mod_rewrite, môžete ich zablokovať niekoľkými riadkami. Pridajte do svojho súboru .htaccess nasledovné :

RewriteEngine zapnutý
# Options + FollowSymlinks
RewriteCond% {HTTP_REFERER} spammer \ .com [NC]
RewriteRule. * - [F]

Nezabudnite zmeniť slovo spammer \ .com na doménu, ktorú chcete zablokovať. Nezabudnite dať \ pred akýmkoľvek obdobím v doméne.

Nespoliehajte sa na referendu

Pamätajte si, že je možné parodovať referer, takže by ste nikdy nemali používať referer sám pre bezpečnosť. Môžete ho použiť ako doplnok k inému zabezpečeniu, ale ak by mala byť prístupná iba určitým osobám, mali by ste nastaviť heslo pomocou htaccess .