Нещата, които можете да направите с референтния процес
Информацията, която виждате е написана на уебсайтове, е само част от данните, които тези сайтове пренасят, когато пътуват от уеб сървър в браузър на човек и обратно. Също така има справедливо прехвърляне на данни, което се случва зад кулисите - и ако знаете как да получите достъп до тези данни, може да сте в състояние да я използвате по интересни и полезни начини! В тази статия ще разгледаме една конкретна част от данните, която се прехвърля по време на този процес - 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. Как да отидете за това ще зависи от вашия конкретен сайт. Следващата стъпка, разбира се, е намирането на начини за използване на тази информация.
След като разполагате с данните за референта, можете да го използвате, за да скриете сайтовете си по няколко начина. Едно просто нещо, което можете да направите, е просто да поставите откъде смятате, че е дошъл посетител. Разбира се, това е доста скучно, но ако трябва да проведете някои тестове, това може да е добра входна точка за работа.
По-интересното е например, когато използвате референта, за да показвате различна информация в зависимост от това, откъде идват. Например можете да направите следното:
- Общо послание за добре дошли
Можете да отпечатате URL адреса на референта в горната част на страницата си в общо послание за посрещане. Както споменах по-горе, това е доста скучно, но предлага някои основни персонализация.
- Добре дошли посетителите в търсачките
Когато някой е пристигнал в сайта ви от търсачка (т.е. реферът им е google.com или bing.com или yahoo.com и др.), Може да им се наложи да им предоставим малко допълнителна информация, за да ги насърчим да останат по-дълго вашия сайт. Можете да посочите URL адреса на вашия бюлетин или да му дадете връзки към някои от най-популярните страници на вашия сайт. - Предайте информация на формуляри
Ако имате връзка в сайта си, за да могат хората да съобщават за проблеми със самия сайт, познаването на референта може да бъде много полезно. Хората често съобщават за проблеми с дадена уеб страница, без да посочват URL адреса, но можете да използвате информацията за референта, за да направите предположение за това, което докладват. Този скрипт ще добави реферара към скрито поле на формуляра, което ви дава някои данни за това къде на сайта може да са срещнали проблема.
- Създайте специална оферта за някои посетители
Може би искате да дадете на хората, които идват от определена страница, специална сделка за вашите продукти или услуги. Това е още един пример за персонализация, в който оформяте потребителския си опит и съдържанието, което виждат на базата на потребителските им данни. Например, ако продавате различни продукти, може би предлагате сделка, свързана с това, което вече са били гледане на един ваш сайт. - Изпратете посетителите на друга страница
Можете също така да изпратите хора от конкретен референтор на друга страница. Бъдете много внимателни с това, тъй като Google и други търсачки може да сметнат това за подвеждащо и да санкционират вашия сайт.
Блокиране на потребители с .htaccess от Referer
От гледна точка на сигурността, ако претърпявате много от спам от референти на вашия сайт от един конкретен домейн, той може да помогне просто да блокира този домейн от вашия сайт. Ако използвате Apache с инсталиран mod_rewrite, можете да ги блокирате с няколко реда. Добавете следното към вашия .htaccess файл :
RewriteEngine включен
# Опции + FollowSymlinks
RewriteCond% {HTTP_REFERER} спамър \ .com [NC]
RewriteRule. * - [F]
Не забравяйте да промените думата spammer \ .com до домейна, който искате да блокирате. Не забравяйте да поставите \ пред всякакви периоди в домейна.
Не разчитайте на референта
Не забравяйте, че е възможно да заблудите реферара, така че никога да не използвате само реферара за сигурност. Можете да го използвате като добавка към другата ви защита, но ако дадена страница трябва да бъде достъпна само от определени хора, тогава трябва да зададете парола за нея с htaccess .