[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