Как да използвате HTTP референта

Нещата, които можете да направите с референтния процес

Информацията, която виждате е написана на уебсайтове, е само част от данните, които тези сайтове пренасят, когато пътуват от уеб сървър в браузър на човек и обратно. Също така има справедливо прехвърляне на данни, което се случва зад кулисите - и ако знаете как да получите достъп до тези данни, може да сте в състояние да я използвате по интересни и полезни начини! В тази статия ще разгледаме една конкретна част от данните, която се прехвърля по време на този процес - HTTP референта.

Какво представлява HTTP референтът?

HTTP референтът е данни, които се предават от уеб браузърите на сървъра, за да ви кажат на коя страница се намира четящото устройство, преди да дойдат на тази страница. Тази информация може да бъде използвана на уебсайта Ви, за да ви предостави допълнителна помощ, да създадете специални оферти за целеви потребители, да пренасочите клиентите към подходящи страници и съдържание или дори да блокирате посетителите да идват на сайта Ви. Можете също така да използвате скриптови езици като JavaScript, PHP или ASP, за да четете и оценявате информация за препращащите данни.

Събиране на информация за референтите с PHP, JavaScript и ASP

И така, как събирате данните за HTTP референта? Ето някои методи, които можете да използвате:

PHP съхранява референтната информация в системна променлива, наречена HTTP_REFERER. За да покажете реферара на PHP страница, можете да напишете:

ако (isset ($ _ SERVER ['HTTP_REFERER'])) {
echo $ _SERVER ['HTTP_REFERER'];
}

Това проверява дали променливата има стойност и след това я отпечатва на екрана. Вместо ехото $ _SERVER ['HTTP_REFERER']; ще поставите скриптове на място, за да проверите за различни референтори.

JavaScript използва DOM, за да прочете референта. Подобно на PHP, трябва да проверите дали реферерът има стойност. Ако обаче искате да манипулирате тази стойност, първо трябва да я зададете на променлива. По-долу е как ще покажете референта към страницата си с JavaScript. Обърнете внимание, че DOM използва алтернативния правопис на препращащия файл, като добавя допълнително "r" там:

ако (document.referrer) {
var myReferer = document.referrer;
document.write (myReferer);
}

След това можете да използвате референта в скриптове с променливата myReferer .

ASP, подобно на PHP, задава референта в системна променлива. След това можете да съберете тази информация по следния начин:

ако (Request.ServerVariables ("HTTP_REFERER")) {
Dim myReferer = Request.ServerVariables ("HTTP_REFERER")
Response.Write (myReferer)
}

Можете да използвате променливата myReferer, за да коригирате скриптовете си според нуждите.

След като имате референта, какво можете да направите с него?

Така че получаването на данните е стъпка 1. Как да отидете за това ще зависи от вашия конкретен сайт. Следващата стъпка, разбира се, е намирането на начини за използване на тази информация.

След като разполагате с данните за референта, можете да го използвате, за да скриете сайтовете си по няколко начина. Едно просто нещо, което можете да направите, е просто да поставите откъде смятате, че е дошъл посетител. Разбира се, това е доста скучно, но ако трябва да проведете някои тестове, това може да е добра входна точка за работа.

По-интересното е например, когато използвате референта, за да показвате различна информация в зависимост от това, откъде идват. Например можете да направите следното:

Блокиране на потребители с .htaccess от Referer

От гледна точка на сигурността, ако претърпявате много от спам от референти на вашия сайт от един конкретен домейн, той може да помогне просто да блокира този домейн от вашия сайт. Ако използвате Apache с инсталиран mod_rewrite, можете да ги блокирате с няколко реда. Добавете следното към вашия .htaccess файл :

RewriteEngine включен
# Опции + FollowSymlinks
RewriteCond% {HTTP_REFERER} спамър \ .com [NC]
RewriteRule. * - [F]

Не забравяйте да промените думата spammer \ .com до домейна, който искате да блокирате. Не забравяйте да поставите \ пред всякакви периоди в домейна.

Не разчитайте на референта

Не забравяйте, че е възможно да заблудите реферара, така че никога да не използвате само реферара за сигурност. Можете да го използвате като добавка към другата ви защита, но ако дадена страница трябва да бъде достъпна само от определени хора, тогава трябва да зададете парола за нея с htaccess .