Рэчы, якія вы можаце зрабіць з працэсам рэферэрам
Інфармацыя, якую вы бачыце, напісана на сайтах толькі частка дадзеных, што гэтыя сайты перадаюць, як яны падарожнічаюць з вэб-сервера ў браўзэры чалавека, і наадварот. Існуе таксама дастатковую колькасць перадачы дадзеных, што адбываецца за кулісамі, - і калі вы ведаеце, як атрымаць доступ да гэтай інфармацыі, вы можаце быць у стане выкарыстаць яго ў цікавых і карысных спосабах! У гэтым артыкуле мы разгледзім адзін канкрэтны кавалак дадзеных, якія перадаюцца падчас гэтага працэсу - 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. Як вы пра тое, што будзе залежаць ад канкрэтнага сайта. Наступны крок, вядома, знайсці спосабы выкарыстання гэтай інфармацыі.
Калі ў вас ёсць дадзеныя рэферэрам, вы можаце выкарыстоўваць яго для сцэнара вашых сайтаў у шэрагу кірункаў. Адна простая рэч, якую вы можаце зрабіць, гэта проста пост, дзе вы думаеце, што наведвальнік прыйшоў. Трэба прызнаць, што гэта даволі сумны, але калі вам трэба выканаць некаторыя тэсты, якія могуць быць добрай адпраўной кропкай для працы.
Што больш цікавы прыклад, калі вы карыстаецеся рэферэрам для адлюстравання рознай інфармацыі ў залежнасці ад таго, адкуль яны прыйшлі. Напрыклад, вы можаце зрабіць наступнае:
- Агульнае прывітальнае паведамленне
Вы можаце раздрукаваць Referer URL у верхняй частцы старонкі ў агульным прывітанні. Як я ўжо казаў вышэй, гэта даволі сумнае, але прапануюць некаторыя асноўныя персаналізацыі.
- Сардэчна запрашаем наведвальнікаў пошукавай сістэмы
Калі нехта прыехаў на ваш сайт з пошукавай сістэмы (г.зн. іх рэферэрам з'яўляецца google.com або bing.com або yahoo.com і г.д.), вы можаце даць ім трохі дадатковай інфармацыі, каб заахвоціць іх даўжэй заставацца на ваш сайт. Вы можаце пазначыць свой бюлетэнь URL або даць ім спасылкі на некаторыя з найбольш папулярных старонак на вашым сайце. - Перадайце інфармацыю формаў
Калі ў вас ёсць спасылка на ваш сайт для людзей, каб паведаміць аб праблемах з самім сайтам, ведаючы рэферэрам можа быць вельмі карысным. Людзі часта паведамляюць аб праблемах з вэб-старонкі, не ўказаўшы URL, але вы можаце выкарыстоўваць інфармацыю аб Referer, каб зрабіць здагадку аб тым, што яны паведамляюць. Гэты скрыпт дадасць рэферэрам ў схаванае поле формы, што дазваляе вам некаторыя дадзеныя аб тым, дзе на месцы яны, магчыма, сутыкнуліся з праблемай.
- Стварыць спецыяльная прапанова для некаторых наведвальнікаў
Можа быць, вы хочаце, каб даць людзям, якія прыходзяць з канкрэтнай старонкі спецыяльная прапанова на вашыя тавары ці паслугі. Гэта яшчэ адзін прыклад персаналізацыі, дзе вы фарміруе свой карыстацкі вопыт і змест, што яны бачаць, грунтуючыся на дадзеных карыстальніка, напрыклад, калі вы прадаеце розныя прадукты, магчыма, вы можаце прапанаваць здзелку, якая мае адносіны да чаго яны ўжо гледзячы на адным сайце. - Адправіць наведвальнікаў на іншую старонку
Вы таксама можаце адправіць чалавек з пэўнай рэферэрам на іншую старонку ў цэлым. Будзьце вельмі асцярожныя з гэтым, як Google і іншыя пошукавыя сістэмы маглі б разгледзець гэта ўвесці ў памылцы і караць ваш сайт.
Блокавыя Карыстальнікі з .htaccess па Referer
З пункту гледжання бяспекі, калі вы выпрабоўваеце шмат рэферэрам спаму на вашым сайце ад аднаго канкрэтнага дамена, гэта можа дапамагчы проста заблакаваць гэты дамен з вашага сайта. Калі вы выкарыстоўваеце Apache з усталяваным mod_rewrite, вы можаце блакаваць іх з дапамогай некалькіх радкоў. Дадайце наступныя радкі ў файле .htaccess:
RewriteEngine на
# Опцыі + FollowSymlinks
RewriteCond% {HTTP_REFERER} спаммер \ .com [NC]
. RewriteRule * - [F]
Ня забудзьцеся змяніць слова спамера \ .com ў дамен вы хочаце заблакаваць. Не забудзьцеся паставіць \ перад любымі перыядамі ў дамене.
Не спадзявацца на Referer
Памятаеце , што можна падмяніць рэферэрам, таму вы ніколі не павінны выкарыстоўваць рэферэрам ў адзіночку ў мэтах бяспекі. Вы можаце выкарыстоўваць яго ў якасці дадатку да вашай іншы бяспекі, але калі старонка павінна быць даступная толькі канкрэтнымі людзьмі, то вы павінны ўсталяваць пароль на яго з Htaccess.