[Cascavel-pm] HTTP_REFERER - variável de ambiente não funciona no protocolo https

Silvio Almeida scvalmei em graaph.arq.br
Quinta Maio 15 10:57:43 PDT 2008


Eden Cardim wrote:
> 2008/5/15  <fernandolouis em terra.com.br>:
>   
>> Essa solução é inviável, pois seria impossível eu ter acesso a todos os
>> servidor de todos os sites que fazem link para uma página específica dentro
>> do meu site.
>>     
>
> Não é impossível, inclusive vários websites fazem isso, como google,
> facebook, etc. Na verdade, você está querendo criar um webservice mas
> ainda não sabe disso :)
>
>   
>> Não outra maneira de identificar o site de origem? Perl não me ajuda a
>> realizar tal façanha?
>>     
>
> O problema não é do Perl nem de linguagem alguma que você vier a
> utilizar, é do protocolo. E não, não tem como identificar o endereço
> de origem, porque ele pode nem existir, como acontece quando alguém
> digita o endereço diretamente no browser. Se você quiser restringir
> acesso ao conteúdo do seu site, vai precisar utilizar uma solução mais
> sofisticada que envolve os dois sites, como o Nilson sugeriu

Acessando $ENV{REMOTE_ADDRESS} a partir do CGI você obtém o IP que fez o 
request. Esta informação é totalmente confiável pois não vem de um 
header HTTP (forjável por natureza), mas de uma camada Ozzy inferior. Aí 
no CGI você poderia testar o REMOTE_ADDRESS para determinados ranges 
para liberar ou não acesso. Isto não funcionaria?

-Silvio


Mais detalhes sobre a lista de discussão Cascavel-pm