comportamento do navegador em erro 403 Forbidden
-
16-09-2019 - |
Pergunta
O meu servidor retorna um erro de proibido 403 quando um usuário tenta acessar um recurso que eles não têm acesso. Junto com o cabeçalho do servidor também escreve uma pequena mensagem descrevendo o erro.
No Firefox a mensagem de erro é exibido bem e que o usuário saiba o que está acontecendo.
No Internet Explorer a mensagem está escondido e substituído com a página de erro padrão 403 Proibido.
Existem regras específicas que permitam-me para exibir uma mensagem de erro em todos os navegadores, enquanto ainda definir o status para 403 Proibido?
Aqui está a informação RFC neste status:
O servidor entendeu o pedido, mas se recusa a cumpri-la. A autorização não vai ajudar eo pedido não deve ser repetido. Se o método de solicitação não foi cabeça eo servidor deseja tornar público porque o pedido não tenha sido cumprida, Deve descrever a razão para a recusa na entidade. Se o servidor não deseja tornar essa informação disponível para o cliente, o status código 404 (não encontrado) pode ser utilizada em seu lugar.
Parece que eu deveria ser a criação de uma mensagem, mas IE só não vai exibi-lo.
Solução
Tente fazer o seu 403 página maiores (ou seja, mais bytes). Alguns navegadores assumem que uma página de erro curta é a página padrão do servidor web e decidir para mostrar o seu próprio texto, presumivelmente mais útil.
Outras dicas
A implementação de tratamento de erros é o navegador dependente. Em HTTP se você está indo só para devolver um erro 403, então você tem que contar com o agente de usuário (o nome técnico para o navegador, o destinatário da sua mensagem de erro não pode ser um navegador) para lidar com a forma como lhe aprouver.
Se você não gosta como os navegadores estão lidando com erros 403 e quer garantir uma experiência de usuário consistente em todos os navegadores, em seguida, redirecionar o usuário para seu próprio 'permissão negada' página. Você pode construir uma página que pode explicar-lhes porque a permissão foi negada eo que eles podem ser capazes de fazer sobre isso. E vai ser consistente para qualquer navegador.