De oplysninger, du ser skrevet på hjemmesider, er kun et stykke af de data, som disse websteder sender, når de rejser fra en webserver til en persons browser og omvendt. Der er også en rimelig mængde dataoverførsel der sker bag kulisserne - og hvis du ved, hvordan du får adgang til disse data, kan du muligvis bruge det på interessante og nyttige måder! I denne artikel vil vi se på et specifikt stykke data, der overføres under denne proces - HTTP-refereren.
Referer er en stavning af ordet henvisende , der blev introduceret og er forblevet i koden og navngivelsen af denne evne.
Hvad er HTTP Referer?
HTTP-refereren er data, der overføres af webbrowsere til serveren for at fortælle hvilken side læseren var på, før de kom til denne side. Disse oplysninger kan bruges på din hjemmeside for at yde ekstra hjælp, oprette specialtilbud til målrettede brugere, omdirigere kunder til relevante sider og indhold eller endda blokere besøgende fra at komme til dit websted. Du kan også bruge scriptningssprog som JavaScript, PHP eller ASP til at læse og evaluere henvisningsoplysninger.
Indsamle Referer Information med PHP, JavaScript og ASP
Så hvordan indsamler du disse HTTP referer data? Her er nogle metoder, du kan bruge:
PHP gemmer henvisningsoplysninger i en systemvariabel kaldet HTTP_REFERER. For at vise refereren på en PHP-side kan du skrive:
hvis (isset ($ _ SERVER 'HTTP_REFERER')) {ekko $ _SERVER 'HTTP_REFERER';}
Dette kontrollerer, at variablen har en værdi og derefter udskriver den til skærmen. I stedet for
ekko $ _SERVER 'HTTP_REFERER'; Du ville sætte scriptlinjer på plads for at tjekke for forskellige henvisninger.
JavaScript bruger DOM'en til at læse referencen. Ligesom med PHP, bør du kontrollere, at referencen har en værdi. Men hvis du vil manipulere den værdi, skal du først indstille den til en variabel. Nedenfor er, hvordan du vil vise henvisningen til din side med JavaScript. Bemærk, at DOM anvender den alternative stavemåde af henvisning, og tilføjer en ekstra "r" derinde:
hvis (document.referrer) {var myReferer = document.referrer;document.write (myReferer);}
Derefter kan du bruge refereren i scripts med variablen
myReferer
ASP, som PHP, indstiller refereren i en systemvariabel. Du kan så indsamle disse oplysninger som denne:
hvis (Request.ServerVariables ("HTTP_REFERER")) {Dim myReferer = Request.ServerVariables ("HTTP_REFERER")Response.Write (myReferer)}
Du kan bruge variablen
myReferer at justere dine scripts efter behov.
Når du har refereren, hvad kan du gøre med det?
Så at få dataene er trin 1. Hvordan du går om det, vil afhænge af dit specifikke websted. Det næste trin er selvfølgelig at finde måder at bruge disse oplysninger på.
Når du har referererdataene, kan du bruge den til at scriptere dine websteder på en række måder. En simpel ting, du kan gøre, er at bare sende ind, hvor du synes, at en besøgende kom fra. Det er ganske vist ret kedeligt, men hvis du skal køre nogle tests, kan det være et godt indgangspunkt for at arbejde med.
Hvad er et mere interessant eksempel er, når du bruger refereren til at vise forskellige oplysninger afhængigt af hvor de kom fra. For eksempel kan du gøre følgende:
- Generel velkomstbesked
- Du kan udskrive henvisningswebadressen øverst på din side i en generel velkomstmeddelelse. Som jeg nævnte ovenfor er det ret kedeligt, men tilbyder nogle grundlæggende personalisering.
- Velkommen søgemaskine besøgende
- Når nogen er ankommet til dit websted fra en søgemaskine (dvs. deres referencer er google.com eller bing.com eller yahoo.com osv.), Vil du måske give dem lidt ekstra information for at opmuntre dem til at blive længere på dit websted. Du kan påpege dit nyhedsbrev-URL eller give dem links til nogle af de mere populære sider på dit websted.
- Send information til formularer
- Hvis du har et link på dit websted, så folk kan rapportere problemer med selve webstedet, kan det være meget nyttigt at kende referencen. Folk vil ofte rapportere problemer med en webside uden at angive webadressen, men du kan bruge henvisningsoplysningerne til at gætte på, hvad de rapporterer. Dette script vil tilføje referencen til et skjult formularfelt, så du kan få nogle data om hvor på webstedet de måtte have fundet problemet.
- Lav et specielt tilbud til nogle besøgende
- Måske vil du give folk, der kommer fra en bestemt side, en speciel aftale om dine produkter eller tjenester. Dette er et andet eksempel på personalisering, hvor du formår deres brugeroplevelse og det indhold, de ser ud fra deres brugerdata. Hvis du f.eks. Sælger en række produkter, kan du måske tilbyde en aftale, der er relevant for det, de allerede har været kigger på et dit websted.
- Send besøgende til en anden side
- Du kan også sende folk fra en bestemt henvisning til en anden side helt. Vær meget forsigtig med dette, da Google og andre søgemaskiner kan overveje, at dette er vildledende og straffe dit websted.
Bloker brugere med .htaccess af Referer
Fra et sikkerhedsmæssigt synspunkt, hvis du oplever en masse referer spam på dit websted fra et bestemt domæne, kan det medvirke til blot at blokere dette domæne fra dit websted. Hvis du bruger Apache med mod_rewrite installeret, kan du blokere dem med et par linjer. Tilføj følgende til din
.htaccess-fil:
OmskrivningEngine på# Valg + FollowSymlinksRewriteCond% {HTTP_REFERER} spammer .dk NCRewriteRule. * - F
Husk at ændre ordet
spammer .dk til det domæne, du vil blokere. Husk at sætte foran alle perioder i domænet.
Stol ikke på refereren
Husk at det er muligt at spoof refereren, så du skal aldrig Brug referencen alene til sikkerhed. Du kan bruge det som en tilføjelse til din anden sikkerhed, men hvis en side kun skal åbnes af bestemte personer, skal du angive et kodeord på det med
htaccess.