문제

내 서버는 사용자가 액세스 할 수없는 리소스에 액세스하려고 할 때 403 금지 오류를 반환합니다. 헤더와 함께 서버는 오류를 설명하는 작은 메시지를 씁니다.

Firefox에서 오류 메시지가 잘 표시되고 사용자는 무슨 일이 일어나고 있는지 알고 있습니다.

Internet Explorer에서 메시지는 숨겨져 403 금지 표준 오류 페이지로 대체됩니다.

상태를 403 금지로 설정하면서 모든 브라우저에 오류 메시지를 표시 할 수있는 특정 규칙이 있습니까?

이 상태에 대한 RFC 정보는 다음과 같습니다.

서버는 요청을 이해했지만 요청을 거부하고 있습니다. 승인은 도움이되지 않으며 요청을 반복해서는 안됩니다. 요청 방법이 헤드가 아니고 서버가 요청이 이행되지 않은 이유를 공개하고자하는 경우, 엔티티의 거부 이유를 설명해야합니다. 서버가 클라이언트 가이 정보를 사용할 수 있도록하려면 상태 코드 404 (찾을 수 없음)를 대신 사용할 수 있습니다.

메시지를 설정 해야하는 것 같지만 즉, 표시하지 않습니다.

도움이 되었습니까?

해결책

403 페이지를 더 크게 만들어보십시오 (예 : 더 많은 바이트). 일부 브라우저는 짧은 오류 페이지가 웹 서버의 기본 페이지라고 가정하고 아마도 더 유용한 텍스트를 보여 주기로 결정합니다.

더 많은 정보.

다른 팁

오류 처리의 구현은 브라우저 종속입니다. HTTP에서 403 오류를 반환하려면 사용자 에이전트 (브라우저의 기술 이름에 의존해야한다면 오류 메시지 수신자가 브라우저가 아닐 수 있음)가 적합한 방법을 처리해야합니다.

브라우저가 403 오류를 처리하는 방법이 마음에 들지 않고 모든 브라우저에서 일관된 사용자 경험을 보장하려면 사용자를 자신의 '권한 거부'페이지로 리디렉션하십시오. 허가가 거부 된 이유와 그들이 무엇을 할 수 있는지 설명 할 수있는 페이지를 만들 수 있습니다. 그리고 모든 브라우저에 대해 일관성이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top