Како користити ХТТП реферер

Ствари које можете урадити с референтним процесом

Информације које видите на веб локацијама су само подаци података које те локације преносе док путују са веб сервера на претраживач особе и обрнуто. Такође постоји доста преноса података који се дешава иза сцене - и ако знате како да приступите тим подацима, можда ћете моћи да га користите на занимљивим и корисним начинима! У овом чланку ћемо погледати један специфичан податак који се преноси током овог процеса - референт ХТТП-а.

Шта је референт ХТТП-а?

ХТТП реферер је податак који веб претраживачи прослеђују серверу како би вам испричао на којој страници је читач био пре него што су дошли на ову страницу. Ове информације се могу користити на вашој веб страници како би пружиле додатну помоћ, креирале посебне понуде циљаним корисницима, преусмјериле купце на релевантне странице и садржај, или чак блокирати посјетитеље да дођу на вашу веб локацију. Такође можете да користите скриптне језике као што су ЈаваСцрипт, ПХП или АСП за читање и процјену реферрер информација.

Прикупљање референтних информација са ПХП-ом, ЈаваСцрипт-ом и АСП-ом

Дакле, како сакупљате ове податке ХТТП реферера? Ево неких метода које можете користити:

ПХП чува референтне информације у системској променљивој под називом ХТТП_РЕФЕРЕР. Да бисте приказали реферере на ПХП страници, можете написати:

иф (иссет ($ _ СЕРВЕР ['ХТТП_РЕФЕРЕР']))) {
ецхо $ _СЕРВЕР ['ХТТП_РЕФЕРЕР'];
}

Ово проверава да ли варијабла има вредност, а затим га одштампа на екрану. Уместо ецхо $ _СЕРВЕР ['ХТТП_РЕФЕРЕР']; поставили бисте скриптне линије да бисте проверили различите реферере.

ЈаваСцрипт користи ДОМ да би прочитао реферера. Као и код ПХП-а, требало би да проверите да ли референт има вредност. Међутим, ако желите манипулисати том вриједношћу, требате прво подесити на варијаблу. Испод је како ћете приказати рефереру на вашој страници са ЈаваСцрипт-ом. Имајте на уму да ДОМ користи алтернативно правопис реферрера, додајући додатни "р" тамо:

ако (доцумент.реферрер) {
вар миРеферер = доцумент.реферрер;
доцумент.врите (миРеферер);
}

Тада можете користити реферере у скриптама са варијаблом миРеферер .

АСП, као и ПХП, поставља реферера у системску варијаблу. Тада можете сакупити такве информације овако:

ако (Рекуест.СерверВариаблес ("ХТТП_РЕФЕРЕР")) {
Дим миРеферер = Рекуест.СерверВариаблес ("ХТТП_РЕФЕРЕР")
Респонсе.Врите (миРеферер)
}

Можете користити променљиву миРеферер да прилагодите своје скрипте по потреби.

Када имаш референта, шта можеш са њим?

Дакле, добивање података је корак 1. Како ћеш то да урадиш зависиће од ваше одређене локације. Следећи корак, наравно, је проналажење начина кориштења ових информација.

Када имате референтне податке, можете га користити за скриптирање својих локација на више начина. Једна једноставна ствар коју можете учинити је да једноставно поставите место од кога мислите да је посетилац дошао. Додуше, то је прилично досадно, али ако треба да покренете неке тестове, то може бити добра улазна тачка за рад.

Оно што је интересантнији пример је када користите реферера да прикажете различите информације у зависности од тога одакле су дошли. На пример, можете урадити следеће:

Блокирај кориснике са .хтаццесс-ом помоћу реферера

Са безбедносног становишта, ако доживите много спамера реферера на вашој веб локацији из једног одређеног домена, може вам помоћи да једноставно блокирате тај домен са ваше странице. Ако користите Апацхе са инсталираним мод_реврите, можете их блокирати са неколико редова. Додајте следеће у ваш .хтаццесс датотеку :

РевритеЕнгине он
# Опције + ФолловСимлинкс
РевритеЦонд% {ХТТП_РЕФЕРЕР} спаммер \ .цом [НЦ]
РевритеРуле. * - [Ф]

Запамтите да промените реч спаммер \ .цом на домен који желите да блокирате. Не заборавите ставити \ испред било којег периода у домену.

Немојте се ослањати на реферера

Запамтите да је могуће преварити реферера, тако да никада не користите реферера за сигурност. Можете га користити као додатак другој безбедности, али ако би страницу требали приступати само одређеним особама, онда би требали поставити лозинку помоћу хтаццесс-а .