A HTTP Referer használata

Amit tehetsz a referer folyamattal

A weboldalakon írt információk csak egy része azoknak az adatoknak, amelyeket ezek a webhelyek továbbítanak, amikor egy webszerverről egy személy böngészőjére utaznak, és fordítva. Szintén nagy mennyiségű adatátvitel zajlik a jelenetek mögött - és ha tudod, hogyan lehet hozzáférni ezekhez az adatokhoz, érdemes és hasznos módon felhasználhatod! Ebben a cikkben megnézzük a folyamat során átvitt egy meghatározott adatot - a HTTP hivatkozást.

Mi a HTTP Referer?

A HTTP referer olyan adatok, amelyeket a webböngészők a szervernek adnak át, hogy megmondhassák, hogy az olvasó milyen oldalra került, mielőtt erre az oldalra jöttek. Ez az információ felhasználható a webhelyén, hogy extra segítséget nyújtson, különleges ajánlatokat hozzon létre a célzott felhasználók számára, átirányítsa az ügyfeleket a releváns oldalakra és tartalmakra, vagy akár letiltja a látogatókat a webhelyre érkezéskor. Szöveges nyelveket is használhat, mint a JavaScript, a PHP vagy az ASP, hogy olvassa el és értékelje a referrer információkat.

Referenciaadatok gyűjtése PHP, JavaScript és ASP segítségével

Hogyan gyűjtheted össze ezt a HTTP referenciaadatot? Az alábbi módszerek közül választhat:

A PHP tárolja a referenciaadatokat egy HTTP_REFERER nevű rendszerváltozóban. A hivatkozó megjelenítéséhez egy PHP oldalt írhat:

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

Ez ellenőrzi, hogy a változónak van-e értéke, majd kinyomtatja a képernyőre. Az echo $ _SERVER ['HTTP_REFERER'] helyett ; akkor helyezni a parancssorokat a különböző referensek ellenőrzésére.

A JavaScript a DOM-ot használja a hivatkozók olvasásához. Csakúgy, mint a PHP-nél, ellenőrizze, hogy a hivatkozónak van-e értéke. Ha azonban módosítani szeretné ezt az értéket, akkor először egy változóra kell állítania. Az alábbiakban bemutatjuk, hogyan jelenítheti meg a referrort az oldalához a JavaScript segítségével. Ne feledje, hogy a DOM a referrer alternatív helyesírását használja, és hozzáad egy extra "r" -t:

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

Ezután használhatja a hivatkozót script- ekben a myReferer változóval .

Az ASP, mint a PHP, beállítja a hivatkozót egy rendszerváltozóba. Ezután gyűjtheti az alábbi információkat:

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

Használhatja a myReferer változót a szkriptek szükség szerinti módosításához.

Miután megkapta a referert, mit tehet vele?

Tehát az adatok beszerzése az 1. lépés. Az, hogy ez hogyan történik, az adott webhelytől függ. A következő lépés természetesen megtalálja az információ felhasználásának módját.

Miután megkapta a referenciaadatokat, számos módon felhasználhatja a webhelyeinek szkriptelésére. Egy egyszerű dolog, amit tehetsz, hogy csak azt írd be, ahol gondolod, hogy egy látogató érkezett. Kétségtelen, hogy ez elég unalmas, de ha teszteket kell futtatnod, ez jó kiindulási pont lehet a munkához.

Az érdekesebb példa az, amikor a hivatkozót különböző információk megjelenítésére használjuk attól függően, honnan származtattunk. Például teheti meg a következőket:

Blokkolja a felhasználókat a .htaccess használatával a referens segítségével

Biztonsági szempontból, ha egy webhelyen egy csomó hivatkozószemetet tapasztal egy webhelyen, akkor egyszerűen letilthatja az adott domainet webhelyéről. Ha Apache-t használod a mod_rewrite telepítésével, néhány sorral letilthatja őket. Adja hozzá az .htaccess fájlhoz a következőket:

RewriteEngine be
# Opciók + FollowSymlinks
RewriteCond% {HTTP_REFERER} spammer \ .com [NC]
RewriteRule. * - [F]

Ne felejtse el megváltoztatni a spammer \ .com szót a blokkolni kívánt domainre. Ne feledje, hogy a \ -ban a domain bármelyik periódusa előtt helyezkedik el.

Ne támaszkodj a referensre

Ne felejtsd el, hogy a hivatkozó megcsalható, ezért biztonsági okokból soha ne használja a hivatkozót. Használhatod kiegészítőként a másik biztonságoddal, de ha egy oldalt csak bizonyos személyek érhetnek el, akkor a htaccess használatával jelszót kell beállítania .