Den information som du ser skrivna på webbplatser är bara en del av de data som de här webbplatserna överför när de reser från en webbserver till en persons webbläsare och vice versa. Det finns också en hel del dataöverföring som händer bakom kulisserna - och om du vet hur du får tillgång till data, kan du kanske använda den på intressanta och användbara sätt! I den här artikeln kommer vi att titta på en viss del av data som överförs under denna process - HTTP-referenten.
Referer är en felstavning av ordet hänvisnings , som introducerades och har kvar i koden och namnet på denna förmåga.
Vad är HTTP Referer?
HTTP-referenten är data som överförs av webbläsare till servern för att berätta vilken sida läsaren var på innan de kom till den här sidan. Denna information kan användas på din webbplats för att ge extra hjälp, skapa specialerbjudanden till riktade användare, vidarebefordra kunder till relevanta sidor och innehåll eller till och med blockera besökare från att komma till din webbplats. Du kan också använda skriptspråk som JavaScript, PHP eller ASP för att läsa och utvärdera hänvisningsinformation.
Samla Refererinformation med PHP, JavaScript och ASP
Så hur samlar du in HTTP refererdata? Här är några metoder du kan använda:
PHP lagrar refererinformation i en systemvariabel som heter HTTP_REFERER. För att visa referenten på en PHP-sida kan du skriva:
om (isset ($ _ SERVER 'HTTP_REFERER'))) {echo $ _SERVER 'HTTP_REFERER';}
Detta kontrollerar att variabeln har ett värde och sedan skrivs ut det till skärmen. Istället för
echo $ _SERVER 'HTTP_REFERER'; du skulle lägga in manuslinjer för att kontrollera olika referenser.
JavaScript använder DOM för att läsa referenten. Precis som med PHP, bör du kontrollera att referenten har ett värde. Men om du vill manipulera det värdet bör du först ange det för en variabel. Nedan är hur du skulle visa referenten till din sida med JavaScript. Observera att DOM använder den alternativa stavningen av referrer, och lägger till en extra "r" där:
om (document.referrer) {var myReferer = document.referrer;document.write (myReferer);}
Då kan du använda referenten i skript med variabeln
myReferer
ASP, som PHP, sätter referenten i en systemvariabel. Du kan då samla in den här informationen:
om (Request.ServerVariables ("HTTP_REFERER")) {Dim myReferer = Request.ServerVariables ("HTTP_REFERER")Response.Write (myReferer)}
Du kan använda variabeln
myReferer att justera dina skript efter behov.
När du har refereraren, vad kan du göra med den?
Så att få data är steg 1. Hur du går över det beror på din specifika webbplats. Nästa steg är självklart att hitta sätt att använda denna information.
När du har referererdata kan du använda den för att skripta dina webbplatser på ett antal sätt. En enkel sak som du kan göra är att bara posta var du tycker att en besökare kom ifrån. Visserligen är det ganska tråkigt, men om du behöver köra några tester kan det vara en bra utgångspunkt att arbeta med.
Vad är ett mer intressant exempel är när du använder referenten för att visa olika uppgifter beroende på var de kom ifrån. Du kan till exempel göra följande:
- Allmänt välkomstmeddelande
- Du kan skriva ut referensadressen längst upp på din sida i ett generellt välkomstmeddelande. Som jag nämnde ovan är det ganska tråkigt, men erbjuder lite grundläggande personalisering.
- Välkommen sökmotor besökare
- När någon har kommit till din webbplats från en sökmotor (dvs. deras referent är google.com eller bing.com eller yahoo.com etc.), kanske du vill ge dem lite extra information för att uppmuntra dem att stanna längre din sida. Du kan påpeka ditt nyhetsbrev-URL eller ge dem länkar till några av de mer populära sidorna på din webbplats.
- Skicka information till blanketter
- Om du har en länk på din webbplats för att människor ska rapportera problem med webbplatsen själv kan det vara mycket användbart att känna till referenten. Människor rapporterar ofta problem med en webbsida utan att ange webbadressen, men du kan använda refererinformationen för att gissa om vad de rapporterar. Detta skript kommer att lägga till referenten till ett doldt formulärfält, så att du kan få några data om var på webbplatsen de har stött på problemet.
- Skapa ett speciellt erbjudande för vissa besökare
- Kanske vill du ge människor som kommer från en viss sida en speciell affär på dina produkter eller tjänster. Det här är ett annat exempel på personalisering, där du formar användarupplevelsen och innehållet som de ser utifrån deras användardata. Om du till exempel säljer en mängd olika produkter kan du kanske erbjuda en överenskommelse som är relevant för vad de redan har varit tittar på en din webbplats.
- Skicka besökare till en annan sida
- Du kan också skicka folk från en specifik hänvisning till en annan sida helt och hållet. Var mycket försiktig med detta, eftersom Google och andra sökmotorer kan anse att detta är vilseledande och bestraffa din webbplats.
Blockera användare med .htaccess av Referer
Från en säkerhetssynpunkt kan det hända att om du upplever mycket referersspam på din webbplats från en viss domän, kan den helt enkelt blockera den domänen från din webbplats. Om du använder Apache med mod_rewrite installerat kan du blockera dem med några rader. Lägg till följande i din
.htaccess-fil:
RewriteEngine på# Alternativ + FollowSymlinksRewriteCond% {HTTP_REFERER} spammare .com NCRewriteRule. * - F
Kom ihåg att ändra ordet
spammare .com till domänen du vill blockera. Kom ihåg att placera framför alla perioder i domänen.
Lita inte på referenten
Kom ihåg att det är möjligt att spoofa referenten, så du borde aldrig använd referenten ensam för säkerhet. Du kan använda den som tillägg till din andra säkerhet, men om en sida endast ska nås av specifika personer, bör du ange ett lösenord på det med
htaccess.




