Jak používat referenční protokol HTTP

Co můžete dělat s procesem referer

Informace, které vidíte na webových stránkách, jsou jen část údajů, které tato místa přenášejí, když cestují z webového serveru do prohlížeče osoby a naopak. Existuje také spravedlivé množství přenosu dat, které se děje za scénou - a pokud víte, jak získat přístup k těmto údajům, můžete je využít zajímavým a užitečným způsobem! V tomto článku se podíváme na konkrétní část dat, která se během tohoto procesu přenáší - referenta HTTP.

Co je HTTP Referer?

Referer HTTP je data, která předávají webové prohlížeče na server, aby vám sdělila, na které stránce byla čtečka předtím, než přišla na tuto stránku. Tyto informace lze na svých webových stránkách využít k poskytování další pomoci, vytváření speciálních nabídek pro cílené uživatele, přesměrování zákazníků na relevantní stránky a obsah, nebo dokonce zablokování návštěvníků, kteří přicházejí na vaše stránky. Můžete také používat skriptovací jazyky jako JavaScript, PHP nebo ASP k čtení a vyhodnocování informací o referrer.

Sběr informací o referentorech pomocí PHP, JavaScript a ASP

Jak tedy shromažďujete tato data HTTP referer? Zde jsou některé metody, které můžete použít:

PHP ukládá referenční informace v systémové proměnné nazvané HTTP_REFERER. Chcete-li zobrazit referendu na stránce PHP, můžete napsat:

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

Tím se kontroluje, zda má proměnná hodnotu a poté ji vytiskne na obrazovku. Namísto echa $ _SERVER ['HTTP_REFERER']; měli byste umístit skriptové řádky, které by ověřovaly různé referentory.

JavaScript používá protokol DOM k čtení referer. Stejně jako u PHP, měli byste se ujistit, že referer má hodnotu. Pokud však chcete tuto hodnotu manipulovat, měli byste ji nejprve nastavit na proměnnou. Níže je uvedeno, jak byste zobrazili referenta na vaši stránku pomocí JavaScriptu. Všimněte si, že DOM používá alternativní pravopis odkazujícího, přidáním extra "r" tam:

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

Pak můžete použít referenta ve skriptech s proměnnou myReferer .

ASP, podobně jako PHP, nastavuje referer v systémové proměnné. Tyto informace můžete shromáždit takto:

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

Pomocí proměnné myReferer můžete podle potřeby upravit skripty.

Jakmile budete mít referenta, co s ním můžete dělat?

Získání dat je tedy krokem 1. Jak to půjdete, bude záviset na vašem konkrétním webu. Dalším krokem je samozřejmě hledání způsobů, jak tyto informace používat.

Jakmile budete mít údaje referer, můžete je použít k psaní vašich stránek mnoha způsoby. Jedna jednoduchá věc, kterou můžete udělat, je jen post, kde si myslíte, že návštěvník přišel. Je to samozřejmě nudné, ale pokud potřebujete provést nějaké testy, může to být dobrý vstupní bod pro práci.

Co je zajímavějším příkladem je, když používáte referenta k zobrazení různých informací v závislosti na tom, odkud pocházejí. Můžete například udělat následující:

Blokovat uživatele pomocí příkazu .htaccess podle referenčního uživatele

Z bezpečnostního hlediska, pokud se na vašem webu vyskytuje spousta referer spamu z jedné konkrétní domény, může to jednoduše zablokovat tuto doménu z vašeho webu. Pokud používáte Apache s nainstalovaným modulem mod_rewrite, můžete je zablokovat několika řádky. Do souboru .htaccess přidejte následující:

RewriteEngine zapnuto
# Možnosti + FollowSymlinks
RewriteCond% {HTTP_REFERER} spammer \ .com [NC]
RewriteRule. * - [F]

Nezapomeňte změnit slovo spammer \ .com na doménu, kterou chcete zablokovat. Nezapomeňte dát \ před jakýmkoli obdobím v doméně.

Nespoléhejte se k referenčnímu

Nezapomeňte, že je možné smazat referer, takže byste nikdy neměli používat bezpečnostního referenta. Můžete jej použít jako doplněk k vaší další ochraně, ale pokud by měla být přístupná pouze určitým lidem, měli byste jej nastavit pomocí htaccess .