Як выкарыстоўваць HTTP Referer

Рэчы, якія вы можаце зрабіць з працэсам рэферэрам

Інфармацыя, якую вы бачыце, напісана на сайтах толькі частка дадзеных, што гэтыя сайты перадаюць, як яны падарожнічаюць з вэб-сервера ў браўзэры чалавека, і наадварот. Існуе таксама дастатковую колькасць перадачы дадзеных, што адбываецца за кулісамі, - і калі вы ведаеце, як атрымаць доступ да гэтай інфармацыі, вы можаце быць у стане выкарыстаць яго ў цікавых і карысных спосабах! У гэтым артыкуле мы разгледзім адзін канкрэтны кавалак дадзеных, якія перадаюцца падчас гэтага працэсу - HTTP рэферэрам.

Што такое HTTP Referer?

HTTP рэферэрам гэта дадзеныя , якія перадаюцца з дапамогай вэб - браўзэраў на сервер , каб сказаць вам , што старонка чытач быў перш чым яны прыйшлі на гэтую старонку. Гэтая інфармацыя можа быць выкарыстана на вашым сайце, каб забяспечыць дадатковую дапамогу, ствараць спецыяльныя прапановы для мэтавых карыстальнікаў, перанакіроўваць кліент на адпаведныя старонкі і ўтрыманне, ці нават блакаваць наведвальнік прыходзіць на ваш сайт. Акрамя таго, можна выкарыстоўваць мовы сцэнарыяў, як JavaScript, PHP або ASP, каб прачытаць і ацаніць якая спасылаецца інфармацыю.

Збор Referer Інфармацыя PHP, JavaScript і ASP

Так як жа вы збераце гэты Referer дадзеныя HTTP? Вось некаторыя метады, якія вы можаце выкарыстоўваць:

PHP крамах Referer інфармацыю ў сістэмнай зменнай называецца HTTP_REFERER. Для адлюстравання рэферэрам на PHP старонцы вы можаце напісаць:

калі (Исеть ($ _ SERVER [ 'HTTP_REFERER'])) {
Рэха $ _SERVER [ 'HTTP_REFERER'];
}

Гэта правярае, што пераменная мае значэнне, а затым выводзіць яго на экран. Замест таго , каб рэха $ _SERVER [ 'HTTP_REFERER']; вы павінны змясціць радкі сцэнара на месцы для праверкі розных Referers.

JavaScript выкарыстоўвае DOM для чытання рэферэрам. Гэтак жа, як з PHP, вы павінны праверыць, каб пераканацца, што рэферэрам мае значэнне. Тым не менш, калі вы хочаце, каб маніпуляваць гэта значэнне, вы павінны ўсталяваць яго ў пераменны першым. Ніжэй паказана, як можна адлюстраваць рэферэрам на старонцы з дапамогай JavaScript. Звярніце ўвагу, што DOM выкарыстоўвае альтэрнатыўную арфаграфію рэферэрам, дадаўшы дадатковы «г» там:

калі (document.referrer) {
вар myReferer = document.referrer;
document.write (myReferer);
}

Затым вы можаце выкарыстоўваць рэферэрам ў сцэнарах з зменнай myReferer.

ASP, як PHP, ўсталёўвае рэферэрам ў сістэмнай зменнай. Вы можаце сабраць гэтую інфармацыю, як гэта:

калі (Request.ServerVariables ( "HTTP_REFERER")) {
Цьмяны myReferer = Request.ServerVariables ( "HTTP_REFERER")
Response.Write (myReferer)
}

Вы можаце выкарыстоўваць зменную myReferer для налады скрыптоў , як гэта неабходна.

Пасля таго як вы Referer, што вы можаце рабіць з ім?

Таму атрыманне даных з'яўляецца крокам 1. Як вы пра тое, што будзе залежаць ад канкрэтнага сайта. Наступны крок, вядома, знайсці спосабы выкарыстання гэтай інфармацыі.

Калі ў вас ёсць дадзеныя рэферэрам, вы можаце выкарыстоўваць яго для сцэнара вашых сайтаў у шэрагу кірункаў. Адна простая рэч, якую вы можаце зрабіць, гэта проста пост, дзе вы думаеце, што наведвальнік прыйшоў. Трэба прызнаць, што гэта даволі сумны, але калі вам трэба выканаць некаторыя тэсты, якія могуць быць добрай адпраўной кропкай для працы.

Што больш цікавы прыклад, калі вы карыстаецеся рэферэрам для адлюстравання рознай інфармацыі ў залежнасці ад таго, адкуль яны прыйшлі. Напрыклад, вы можаце зрабіць наступнае:

Блокавыя Карыстальнікі з .htaccess па Referer

З пункту гледжання бяспекі, калі вы выпрабоўваеце шмат рэферэрам спаму на вашым сайце ад аднаго канкрэтнага дамена, гэта можа дапамагчы проста заблакаваць гэты дамен з вашага сайта. Калі вы выкарыстоўваеце Apache з усталяваным mod_rewrite, вы можаце блакаваць іх з дапамогай некалькіх радкоў. Дадайце наступныя радкі ў файле .htaccess:

RewriteEngine на
# Опцыі + FollowSymlinks
RewriteCond% {HTTP_REFERER} спаммер \ .com [NC]
. RewriteRule * - [F]

Ня забудзьцеся змяніць слова спамера \ .com ў дамен вы хочаце заблакаваць. Не забудзьцеся паставіць \ перад любымі перыядамі ў дамене.

Не спадзявацца на Referer

Памятаеце , што можна падмяніць рэферэрам, таму вы ніколі не павінны выкарыстоўваць рэферэрам ў адзіночку ў мэтах бяспекі. Вы можаце выкарыстоўваць яго ў якасці дадатку да вашай іншы бяспекі, але калі старонка павінна быць даступная толькі канкрэтнымі людзьмі, то вы павінны ўсталяваць пароль на яго з Htaccess.