Como usar o referente HTTP

Cousas que podes facer co proceso referer

A información que ves escrita en sitios web é só unha parte dos datos que estes sitios transmiten mentres viaxan desde un servidor web ao navegador dunha persoa e viceversa. Tamén hai unha boa cantidade de transferencia de datos que ocorre detrás de escena e, se sabe como acceder a estes datos, pode usalo de maneira interesante e útil. Neste artigo veremos unha peza de datos específica que se transfire durante este proceso: o árbitro HTTP.

¿Que é o referente HTTP?

O HTTP referer é un dato que os navegadores web pasan ao servidor para dicirlle a que páxina estaba o lector antes de chegar a esta páxina. Esta información pode usarse no seu sitio web para proporcionar axuda extra, crear ofertas especiais para usuarios específicos, redirixir os clientes ás páxinas e contido relevantes e mesmo bloquear os visitantes para chegar ao seu sitio. Tamén pode usar linguas de script como JavaScript, PHP ou ASP para ler e avaliar a información do referente.

Recollida de información de referentes con PHP, JavaScript e ASP

Entón como recolle estes datos de HTTP data? Aquí tes algúns métodos que podes usar:

A información de PHP almacena información nunha variable do sistema chamada HTTP_REFERER. Para mostrar a información sobre unha páxina de PHP podes escribir:

se (isset ($ _ SERVER ['HTTP_REFERER'])) {
eco $ _SERVER ['HTTP_REFERER'];
}

Isto comproba que a variable ten un valor e, a continuación, imprímaa á pantalla. En vez do eco $ _SERVER ['HTTP_REFERER']; poñerías liñas de script no lugar para buscar varios referentes.

JavaScript usa o DOM para ler o árbitro. Do mesmo xeito que con PHP, debes consultar para asegurarte de que o árbitro ten un valor. Non obstante, se desexa manipular ese valor, debería configuralo primeiro nunha variable. Abaixo amósases como mostrarías o ítem na túa páxina con JavaScript. Teña en conta que o DOM usa a ortografía alternativa do referente, engadindo unha "r" extra nel:

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

Entón podes usar o parágrafo en scripts coa variable myReferer .

ASP, como PHP, define o parámetro nunha variable do sistema. Podes recoller esa información como esta:

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

Podes usar a variable myReferer para axustar as túas secuencias de comandos segundo sexa necesario.

Unha vez que teña o referente, que podes facer con el?

Entón, obter os datos é o paso 1. Como vai sobre iso dependerá do seu sitio específico. O seguinte paso, por suposto, é atopar formas de usar esta información.

Unha vez que teña os datos do dato, podes usalo para guiar os teus sitios de varias maneiras. Unha cousa sinxela que podes facer é simplemente publicar onde pensas que veu un visitante. Hai que recoñecer que isto é moi aburrido, pero se precisa realizar algunhas probas, pode ser un bo punto de entrada para traballar.

O que é un exemplo máis interesante é cando usa o botón para mostrar información diferente dependendo de onde proviñan. Por exemplo, podes facer o seguinte:

Bloquear usuarios con .htaccess por referente

Desde o punto de vista da seguridade, se está experimentando moito spam de spam no seu sitio desde un determinado dominio, pode axudar a simplemente bloquear ese dominio desde o seu sitio. Se estás usando Apache con mod_rewrite instalado, podes bloquealo con algunhas liñas. Engada o seguinte ao seu ficheiro .htaccess :

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

Lembre cambiar a palabra spammer \ .com ao dominio que quere bloquear. Teña en conta que de poñer a \ fronte a calquera período do dominio.

Non confíe no referente

Lembre que é posible falar do árbitro, polo que nunca debería usar o árbitro só para a seguridade. Podes usalo como un add-on para a túa outra seguridade, pero se só hai que acceder a unha páxina por persoas específicas, debes configurar un contrasinal con htaccess .