Paano Gamitin ang HTTP Referer

Mga bagay na maaari mong gawin sa proseso ng reporter

Ang impormasyong nakita mo na nakasulat sa mga website ay isang piraso lamang ng data na ipinadala ng mga site na iyon habang naglalakbay sila mula sa isang web server sa browser ng isang tao at sa kabaligtaran. Mayroon ding isang makatarungang dami ng paglipat ng data na nangyayari sa likod ng mga eksena - at kung alam mo kung paano ma-access ang data na iyon, maaari mo itong gamitin sa kawili-wili at kapaki-pakinabang na mga paraan! Sa artikulong ito ay titingnan natin ang isang partikular na piraso ng data na inilipat sa panahon ng prosesong ito - ang HTTP referer.

Ano ang HTTP Referer?

Ang referer ng HTTP ay ang data na ipinasa ng mga web browser sa server upang sabihin sa iyo kung anong pahina ang nakabukas ng mambabasa bago sila dumating sa pahinang ito. Ang impormasyong ito ay maaaring gamitin sa iyong website upang magbigay ng dagdag na tulong, lumikha ng mga espesyal na alok sa mga naka-target na mga gumagamit, i-redirect ang mga customer sa mga may-katuturang pahina at nilalaman, o kahit na harangan ang mga bisita mula sa pagpunta sa iyong site. Maaari mo ring gamitin ang mga scripting wika tulad ng JavaScript, PHP, o ASP upang basahin at suriin ang impormasyon ng referrer.

Pagkolekta ng Impormasyon sa Referer Sa PHP, JavaScript at ASP

Kaya paano mo kinokolekta ang data ng HTTP referer na ito? Narito ang ilang mga paraan na maaari mong gamitin:

Ang mga tindahan ng PHP ay nagtatala ng impormasyon sa isang variable ng system na tinatawag na HTTP_REFERER. Upang ipakita ang referer sa isang pahina ng PHP maaari mong isulat:

kung (isset ($ _ SERVER ['HTTP_REFERER'])) {
echo $ _SERVER ['HTTP_REFERER'];
}

Sinusuri nito na ang halaga ay may halaga at pagkatapos ay i-print ito sa screen. Sa halip ng echo $ _SERVER ['HTTP_REFERER']; nais mong ilagay ang mga linya ng script sa lugar upang suriin para sa iba't ibang mga referer.

Ginagamit ng JavaScript ang DOM upang basahin ang referer. Tulad ng sa PHP, dapat mong suriin upang tiyakin na ang referer ay may halaga. Gayunpaman, kung nais mong manipulahin ang halaga na iyon, dapat mo itong itakda sa isang variable muna. Sa ibaba ay kung paano mo ipapakita ang referer sa iyong pahina gamit ang JavaScript. Tandaan na ginagamit ng DOM ang kahaliling spelling ng referrer, pagdaragdag ng dagdag na "r" doon:

kung (document.referrer) {
var myReferer = document.referrer;
document.write (myReferer);
}

Pagkatapos ay maaari mong gamitin ang referer sa mga script na may variable myReferer .

Ang ASP, tulad ng PHP, ay nagtatakda ng referer sa isang variable ng system. Pagkatapos ay maaari mong kolektahin ang impormasyong tulad nito:

kung (Request.ServerVariables ("HTTP_REFERER")) {
Dim myReferer = Request.ServerVariables ("HTTP_REFERER")
Response.Write (myReferer)
}

Maaari mong gamitin ang variable myReferer upang ayusin ang iyong mga script kung kinakailangan.

Sa sandaling Ikaw ay May Referer, Ano ang Magagawa Mo Ito?

Kaya pagkuha ang data ay hakbang 1. Kung paano ka pumunta tungkol sa na depende sa iyong partikular na site. Ang susunod na hakbang, siyempre, ay paghahanap ng mga paraan upang gamitin ang impormasyong ito.

Sa sandaling mayroon ka ng data ng referer, maaari mo itong gamitin upang i-script ang iyong mga site sa maraming paraan. Ang isang simpleng bagay na maaari mong gawin ay mag-post lamang kung saan sa palagay mo nagmula ang isang bisita. Totoo, medyo nakakabagot, pero kung kailangan mong magpatakbo ng ilang mga pagsusulit, iyon ay maaaring maging isang magandang punto ng entry na gagana.

Ano ang isang mas kawili-wiling halimbawa ay kapag ginamit mo ang referer upang ipakita ang iba't ibang impormasyon depende kung saan sila nanggaling. Halimbawa, maaari mong gawin ang sumusunod:

I-block ang Mga User na may .htaccess ng Referer

Mula sa isang pananaw sa seguridad, kung nakakaranas ka ng maraming referer ng spam sa iyong site mula sa isang partikular na domain, makakatulong ito upang i-block lamang ang domain na iyon mula sa iyong site. Kung gumagamit ka ng Apache na may naka-install na mod_rewrite, maaari mong i-block ang mga ito gamit ang ilang mga linya. Idagdag ang sumusunod sa iyong .htaccess na file :

RewriteEngine on
# Mga Pagpipilian + FollowSymlinks
RewriteCond% {HTTP_REFERER} spammer \ .com [NC]
RewriteRule. * - [F]

Tandaan na baguhin ang salitang spammer \ .com sa domain na gusto mong i-block. Tandaan na ilagay ang \ sa harap ng anumang mga panahon sa domain.

Huwag umasa sa Referer

Tandaan na posible na mapang-akit ang referer, kaya hindi mo dapat gamitin ang nag-iisa lamang para sa seguridad. Maaari mo itong gamitin bilang isang add-on sa iyong iba pang seguridad, ngunit kung ang isang pahina ay dapat lamang ma-access ng mga partikular na tao, dapat mong itakda ang isang password dito sa htaccess .