Kaip naudotis HTTP persiuntimo priemone

Tai, ką galite padaryti su refererio procesu

Informacija, kurią matote svetainėje, yra tik dalis duomenų, kuriuos šios svetainės siunčia, kai jos keliauja iš žiniatinklio serverio į asmens naršyklę ir atvirkščiai. Taip pat yra pakankamai duomenų perdavimo, kuris vyksta už scenų - ir jei žinote, kaip pasiekti šiuos duomenis, galbūt galėsite jį naudoti įdomiais ir naudingais būdais! Šiame straipsnyje mes apžvelgsime vieną konkretų duomenų dalį, kuri perduodama per šį procesą - HTTP referer.

Kas yra HTTP persiuntimas?

" HTTP referer" yra duomenys, kuriuos žiniatinklio naršyklės perduoda serveriui ir nurodo, koks puslapis buvo skaitytojui, kol jie atėjo į šį puslapį. Ši informacija gali būti naudojama jūsų svetainėje, siekiant suteikti papildomos pagalbos, sukurti specialius pasiūlymus tiksliniams naudotojams, peradresuoti klientus į atitinkamus puslapius ir turinį ar netgi užblokuoti lankytojų prieigą prie jūsų svetainės. Taip pat galite naudoti scenarijų kalbas, tokias kaip JavaScript, PHP ar ASP, kad galėtumėte perskaityti ir įvertinti referrerio informaciją.

Kolekcionavimo informacijos šaltinis naudojant PHP, JavaScript ir ASP

Taigi, kaip surinkti šiuos HTTP refererio duomenis? Štai keletas būdų, kuriuos galite naudoti:

PHP parduotuvių referencinės informacijos sistemos kintamasis vadinamas HTTP_REFERER. Norėdami rodyti nuorodą PHP puslapyje, galite rašyti:

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

Tai patikrina, ar kintamasis turi vertę, ir tada spausdina jį ekrane. Vietoj echo $ _SERVER ['HTTP_REFERER']; galite įdiegti scenarijų eilutes, kad galėtumėte patikrinti įvairius šaliklius.

"JavaScript" naudoja DOM, norėdami perskaityti referenciją. Kaip ir PHP, turėtumėte įsitikinti, ar refereris turi vertę. Tačiau, jei norite manipuliuoti ta verte, pirmiausia turėtumėte nustatyti kintamąjį. Toliau pateikiama, kaip rodyti nukreipimo nuorodą į savo puslapį su "JavaScript". Atminkite, kad DOM naudoja alternatyvų referrerio rašybą, pridedant papildomą "r":

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

Tada jūs galite naudoti referenciją scenarijus su kintamuoju myReferer .

ASP, kaip ir PHP, nustato referenciją sistemos kintamajame. Tada galite surinkti tokią informaciją:

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

Galite naudoti kintamąjį " myReferer", kad pritaikytumėte savo scenarijus, kai reikia.

Kai turėtumėte refererą, ką su juo galite daryti?

Taigi duomenų gavimas yra 1 žingsnis. Kaip jūs einate apie tai, priklausys nuo jūsų konkrečios svetainės. Kitas žingsnis, žinoma, yra rasti būdų, kaip šią informaciją naudoti.

Kai turėsite referencijos duomenis, galite naudoti jį savo svetainių scenarijui įvairiais būdais. Vienas paprastas dalykas, kurį galite padaryti, - tai tiesiog paskelbti, kai manote, kad lankytojas atvyko. Žinoma, tai yra gana nuobodus, tačiau jei jums reikia atlikti kai kuriuos bandymus, tai gali būti geras įėjimo taškas dirbti.

Kas yra įdomiau, kai naudojate refererą, kad pateiktumėte kitą informaciją, priklausomai nuo to, iš kur jie atvyko. Pavyzdžiui, galite atlikti šiuos veiksmus:

Blokuoti vartotojus su .htaccess per Referer

Apsaugos požiūriu, jei svetainėje patiriamas daug siunčiamo šlamšto iš vieno konkretaus domeno, tai gali padėti paprasčiausiai blokuoti šį domeną iš jūsų svetainės. Jei naudojate Apache su mod_rewrite, galite juos blokuoti keliomis eilutėmis. Į savo .htaccess failą pridėkite toliau nurodytą informaciją:

RewriteEngine on
# Funkcijos + FollowSymlinks
RewriteCond% {HTTP_REFERER} šlamštas \ .com [NC]
RewriteRule. * - [F]

Nepamirškite pakeisti žodžio spammer \ .com į domeną, kurį norite blokuoti. Nepamirškite įdėti \ prieš bet kokius domeno laikotarpius.

Negalima pasikliauti Refereriu

Atminkite, kad galima nukreipti referenciją, todėl niekada neturėtumėte naudoti tik referencinio saugumo. Galite naudoti jį kaip priedą prie savo kito saugumo, tačiau jei prie puslapio turėtų pasiekti tik tam tikri žmonės, turėtumėte nustatyti slaptažodį su htaccess .