Kā lietot HTTP Referer

Lietas, ko jūs varat darīt ar referera procesu

Informācija, ko jūs redzat tīmekļa vietnēs, ir tikai daļa no datiem, ko šīs vietnes nosūta, ceļojot no tīmekļa servera uz personas pārlūkprogrammu un otrādi. Ir arī pietiekami daudz datu pārraides, kas notiek aiz ainas - un, ja jūs zināt, kā piekļūt šiem datiem, iespējams, to varēsiet izmantot interesantos un noderīgos veidos! Šajā rakstā mēs apskatīsim vienu konkrētu datu daļu, kas tiek nodota šajā procesā - HTTP referer.

Kas ir HTTP Referer?

HTTP referer ir dati, kurus serveri izlaida tīmekļa pārlūkprogrammas, lai pastāstītu jums, kāda lapa lasītājam bija, pirms viņi atnāca uz šo lapu. Šo informāciju var izmantot jūsu tīmekļa vietnē, lai sniegtu papildu palīdzību, izveidotu īpašus piedāvājumus mērķauditorijai, novirzītu klientus uz atbilstošajām lapām un saturu vai pat bloķētu apmeklētājus no jūsu vietnes. Varat arī izmantot skriptu valodas, piemēram, JavaScript, PHP vai ASP, lai lasītu un novērtētu novirzīšanas informāciju.

Referer Information Collecting ar PHP, JavaScript un ASP

Tātad, kā jūs apkopojat šos HTTP referera datus? Tālāk ir norādītas dažas no iespējām:

PHP veikalos referera informāciju sistēmas mainīgais ar nosaukumu HTTP_REFERER. Lai parādītu atsauci uz PHP lapu, kuru var rakstīt:

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

Pārbauda, ​​vai mainīgajam ir vērtība, un pēc tam izdrukā to uz ekrāna. Echo vietā $ _SERVER ['HTTP_REFERER']; jūs varētu ievietot skriptu līnijas, lai pārbaudītu dažādus referers.

JavaScript izmanto DOM, lai izlasītu refereru. Tāpat kā PHP, jums jāpārliecinās, vai referālam ir vērtība. Tomēr, ja vēlaties manipulēt ar šo vērtību, vispirms to vajadzētu iestatīt kā mainīgo. Zemāk ir redzams, kā jūs rādītu atsauci uz lapu ar JavaScript. Ņemiet vērā, ka DOM izmanto atsauces faila aizstājēju pareizrakstību, pievienojot papildu "r":

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

Tad jūs varat izmantot atsauci skriptos ar mainīgo myReferer .

ASP, piemēram, PHP, nosaka referera sistēmas mainīgo. Pēc tam varat iegūt šādu informāciju:

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

Varat izmantot mainīgo myReferer, lai vajadzības gadījumā pielāgotu savus skriptus.

Kad jums ir referers, ko jūs varat darīt ar to?

Tātad datu iegūšana ir solis 1. Kā jūs to darīsit, tas būs atkarīgs no jūsu konkrētās vietnes. Nākamais solis, protams, ir atrast veidus, kā izmantot šo informāciju.

Kad jums ir referera dati, varat izmantot to, lai jūsu vietnes skriptu vairākos veidos. Viena vienkārša lieta, ko varat darīt, ir vienkārši ievietot vietni, kurā, pēc jūsu domām, ir apmeklētājs. Protams, tas ir diezgan garlaicīgi, bet, ja jums ir nepieciešams veikt dažus testus, tas var būt labs sākumpunkts darbam ar.

Kas ir vēl interesants piemērs tam, kad jūs izmantojat referera, lai parādītu dažādu informāciju atkarībā no tā, no kurienes tie tika saņemti. Piemēram, varat veikt šādas darbības:

Bloķēt lietotājus ar .htaccess ar referera palīdzību

No drošības viedokļa, ja vienā vietnē tiek rādīts liels mērierīču surogātpasts, tas var palīdzēt vienkārši bloķēt domēnu no jūsu vietnes. Ja jūs instalējat Apache ar mod_rewrite, varat to bloķēt ar dažām rindām. Pievienojiet savu .htaccess failu tālāk norādītajam :

RewriteEngine par
# Opcijas + FollowSymlinks
RewriteCond% {HTTP_REFERER} surogātpasta izplatītājs \ .com [NC]
RewriteRule. * - [F]

Neaizmirstiet nomainīt vārdu " surogātpasta izplatītājs \. Com " domēnam, kuru vēlaties bloķēt. Atcerieties, ka domēna priekšā ir visi periodi.

Nepaļaujieties uz atsauci

Atcerieties, ka ir iespējams atspēkot atsauci, tādēļ jums nekad nevajadzētu izmantot drošinātāju vienīgi refereram. Jūs varat to izmantot kā papildinājumu savam citam drošībai, bet, ja lapai vajadzētu piekļūt tikai konkrētiem cilvēkiem, tad ar htaccess tam vajadzētu iestatīt paroli .