Pergunta

Estamos inscrevendo-se em um recurso on-line que usa HTTP-referencial como autenticação (má idéia, eu sei) para provar que a solicitação vem da nossa intranet (o endereço IP não está disponível para isso, pois há um proxy de nível superior).

Infelizmente, pode ser que o sistema deles exija um URL específico do referente em vez de tomar o domínio. Isso significará quando queremos vincular ao recurso de uma página diferente, precisaremos registrar mais uma URL com eles ou vincular para uma página de respingo efetivamente que eles precisam clicar novamente.

Se precisarmos seguir esse caminho, eu gostaria de torná -lo o mais imperceptível possível e, por isso, estava se perguntando qual seria a melhor abordagem para alcançar o seguinte:

  1. http://intranet/somerandomurl tem um link para
  2. http://intranet/AuthorisedUrl qual precisa ser o referenciador para
  3. http://externalsite/

Existe alguma maneira de fazer isso sem literalmente fazer as pessoas clicarem em um link? (A grande maioria dos navegadores será IE6 ou IE7 se isso ajudar, se alguns precisarem clicar no link, mas eu posso usar o JS para a maioria, estou bem com isso).

Foi útil?

Solução

Coloque este código no link 2. Para aqueles com JavaScript habilitado,

 <script type="text/javascript">

window.location = "http://example.com/"

</script>

Isso os redirecionará para http://example.com/ Assim que ele executa. Coloque isso tão cedo no <head> possível, para que o redirecionamento ocorra o mais cedo possível no carregamento da página

Em seguida, basta colocar um link manual na página para aqueles com JavaScript desativados.

De qualquer maneira, o link 2 será o referenciador do ExternalSite.

(Advertência: este é um método de autenticação realmente realmente não seguro.)


Editar: parece que há um problema conhecido com algumas versões do IE não passando um Referer Cabeçalho depois que o JavaScript redireciona. Aqui está a solução alternativa: http://webbugtrack.blogspot.com/2008/11/bug-421-ie-dails-to-sass-http-referer.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top