Existe uma maneira de fazer o Chrome me perguntar sempre que uma página da web tenta me redirecionar?

4

Por exemplo, existem muitos sites como bit.ly. Quero que o Chrome pare e me pergunte sempre que esse site tentar me redirecionar para algum lugar.

CrabMan
fonte
O bit.ly usa um redirecionamento 301, por isso não tenho certeza de como o Chrome seria capaz de detectar quando um redirecionamento está ocorrendo, por ser do lado do servidor.
yutsi 13/07/2013
@yutsi O cliente ainda deve seguir o redirecionamento, ou não haverá nada para exibir. Não haveria sentido nisso, uma vez que literalmente não há nenhuma página em que aterrar. No entanto, pode-se modificar o navegador para não fazer isso. Isso só poderia ser feito editando a fonte do chrome.
zeel
@yutsi 301 não é do lado do servidor. De fato, como funciona é que o servidor A responde com 301 e uma nova URL (que pode ser, e em casos como bt.ly sempre é) em um servidor B completamente diferente, fora da jurisdição de A. Então o navegador vai e faz uma solicitação completamente diferente (que pode, a propósito, ser outra 301 etc.).
Alois Mahdal
@zeel ", uma vez que não há literalmente nenhuma página bit.ly para pousar em" Correto, mas nem todos os UAs realmente suportam 301 diretamente. Por exemplo, a curvatura do IIRC não faz a segunda solicitação por padrão. Por esse motivo, a resposta (ou pelo menos a maioria que eu já vi) sempre contém um corpo legível por humanos (dizendo: "a página não está aqui, mas está ali")
Alois Mahdal

Respostas:

1

Existem essencialmente dois tipos de redirecionamentos, os causados ​​por cabeçalhos de redirecionamento e os causados ​​por JavaScript.

Os cabeçalhos de redirecionamento, como o 301, destinam-se a informar ao navegador que qualquer recurso que eles estão procurando não está no local em que estão procurando, mas que o verdadeiro local é conhecido. Isso permite que o navegador encontre esses recursos, em vez de um 404, que apenas informa que o recurso não está lá.

Esse tipo de redirecionamento é uma das partes fundamentais de um navegador da Web; portanto, não há maneira fácil de modificar o comportamento. O Chrome é de código aberto; portanto, você pode tecnicamente fazer o que está pedindo, mas não seria de forma alguma uma solução simples.

O outro tipo é feito por JavaScript. Uma página é carregada, e o script na página diz ao navegador para carregar uma nova página. Uma extensão simples do navegador pode executar um script na página que intercepta todas essas tentativas e solicita permissão ao usuário antes de permitir que ele continue.

Zeel
fonte
Embora eu não consiga encontrar a solução, gostaria de salientar que, se não houver solução sem bifurcar, é realmente uma vergonha para os desenvolvedores, pois poder decidir se quero abrir a conexão com o servidor B é definitivamente uma solicitação válida da POV de segurança. (Imaginem casos onde a privacidade / segurança é crítica: o que acontece se o servidor A foi comprometida?)
Alois Mahdal
Uma extensão provavelmente pode acompanhar se o host que um link específico enviou para você é o mesmo que o host que serviu a página. Em seguida, avise se não for consistente. No entanto, seria muito fácil de enganar. Novamente, a funcionalidade de redirecionamento é uma parte essencial do cliente da Web, e o Chrome é destinado ao uso do consumidor. Além disso, no lado da segurança, se o site usar HTTPS Chrome o bloqueará se o certificado não corresponder, se você encontrar um problema como o descrito, o certificado estará errado - e o Chrome exibirá uma grande página de aviso em vermelho.
zeel