As informações que você vê escritas em websites são apenas uma parte dos dados que esses sites transmitem enquanto viajam de um servidor da Web para o navegador de uma pessoa e vice-versa. Há também uma boa quantidade de transferência de dados que acontece nos bastidores - e se você souber como acessar esses dados, poderá usá-los de maneiras interessantes e úteis! Neste artigo, veremos um dado específico que é transferido durante esse processo - o referenciador HTTP.
Referer é um erro ortográfico da palavra referenciador , que foi introduzido e permaneceu no código e na nomeação dessa capacidade.
O que é o referenciador HTTP?
O referenciador HTTP são dados que são passados pelos navegadores da web para o servidor para informar em qual página o leitor estava antes de chegar a esta página. Essas informações podem ser usadas em seu website para fornecer ajuda extra, criar ofertas especiais para usuários segmentados, redirecionar os clientes para páginas e conteúdo relevantes ou até mesmo impedir que visitantes acessem seu site. Você também pode usar linguagens de script como JavaScript, PHP ou ASP para ler e avaliar informações de referência.
Coletando informações de referência com PHP, JavaScript e ASP
Então, como você coleta esses dados de referência HTTP? Veja alguns métodos que você pode usar:
O PHP armazena informações de referência em uma variável de sistema chamada HTTP_REFERER. Para exibir o referenciador em uma página PHP, você pode escrever:
if (isset ($ _ SERVER 'HTTP_REFERER')) {echo $ _SERVER 'HTTP_REFERER';}
Isso verifica se a variável tem um valor e depois a imprime na tela. Ao invés de
echo $ _SERVER 'HTTP_REFERER'; você colocaria linhas de script no local para verificar vários referenciadores.
JavaScript usa o DOM para ler o referenciador. Assim como com o PHP, você deve verificar se o referenciador tem um valor. No entanto, se você quiser manipular esse valor, deverá configurá-lo para uma variável primeiro. Abaixo está como você mostraria o referenciador para sua página com JavaScript. Observe que o DOM usa a ortografia alternativa do referenciador, adicionando um "r" extra nele:
if (document.referrer) {var myReferer = document.referrer;document.write (myReferer);}
Então você pode usar o referenciador em scripts com a variável
myReferer
ASP, como o PHP, define o referenciador em uma variável do sistema. Você pode então coletar essa informação como esta:
if (Request.ServerVariables ("HTTP_REFERER")) {Dim myReferer = Request.ServerVariables ("HTTP_REFERER")Response.Write (myReferer)}
Você pode usar a variável
myReferer para ajustar seus scripts conforme necessário.
Depois de ter o referenciador, o que você pode fazer com ele?
Então, obter os dados é a etapa 1. Como você vai sobre isso vai depender do seu site específico. O próximo passo, é claro, é encontrar maneiras de usar essas informações.
Depois de ter os dados do referenciador, você pode usá-los para criar scripts em seus sites de várias maneiras. Uma coisa simples que você pode fazer é apenas postar onde você acha que um visitante veio. Evidentemente, isso é muito chato, mas se você precisar executar alguns testes, isso pode ser um bom ponto de entrada para se trabalhar.
O que é um exemplo mais interessante é quando você usa o referenciador para exibir informações diferentes dependendo Onde eles vieram de. Por exemplo, você poderia fazer o seguinte:
- Mensagem geral de boas vindas
- Você pode imprimir o URL de referência na parte superior de sua página em uma mensagem geral de boas-vindas. Como eu mencionei acima, é muito chato, mas oferece alguma personalização básica.
- Bem-vindo visitantes do mecanismo de pesquisa
- Quando alguém chegou ao seu site a partir de um mecanismo de pesquisa (ou seja, seu referenciador é google.com ou bing.com ou yahoo.com, etc.), talvez você queira fornecer a eles algumas informações extras para incentivá-los a permanecer por mais tempo seu site. Você pode apontar seu URL do boletim informativo ou fornecer links para algumas das páginas mais populares em seu site.
- Passar informações para formulários
- Se você tiver um link em seu site para que as pessoas relatem problemas com o próprio site, saber o remetente pode ser muito útil. As pessoas geralmente relatam problemas com uma página da Web sem indicar o URL, mas você pode usar as informações de referência para adivinhar o que elas estão relatando. Esse script adicionará o referenciador a um campo de formulário oculto, permitindo a você alguns dados sobre onde, no site, eles podem ter encontrado o problema.
- Crie uma oferta especial para alguns visitantes
- Talvez você queira oferecer às pessoas que vêm de uma determinada página uma oferta especial em seus produtos ou serviços. Este é outro exemplo de personalização, em que você está moldando a experiência do usuário e o conteúdo que vê com base nos dados do usuário. Por exemplo, se você vende vários produtos, talvez possa oferecer uma oferta relevante para o que já foi olhando para um seu site.
- Enviar visitantes para outra página
- Você também pode enviar pessoas de um referenciador específico para outra página. Tenha muito cuidado com isso, pois o Google e outros mecanismos de pesquisa podem considerar isso enganoso e penalizar seu site.
Bloquear Usuários com .htaccess por Referer
Do ponto de vista da segurança, se você está tendo muitos spam de referência em seu site de um determinado domínio, pode ajudar simplesmente bloquear esse domínio do seu site. Se você estiver usando o Apache com o mod_rewrite instalado, você pode bloqueá-los com algumas linhas. Adicione o seguinte ao seu
arquivo .htaccess:
RewriteEngine on# Options + FollowSymlinksRewriteCond% {HTTP_REFERER} spammer .com NCRewriteRule. * - F
Lembre-se de mudar a palavra
spammer .com para o domínio que você deseja bloquear. Lembre-se de colocar o na frente de qualquer ponto no domínio.
Não confie no referenciador
Lembre-se que é possível falsificar o referenciador, então você deve Nunca use o referencia sozinho para segurança. Você pode usá-lo como um complemento para sua outra segurança, mas se uma página só deve ser acessada por pessoas específicas, então você deve definir uma senha nele com
htaccess.




