質問

ユーザーが、彼らはへのアクセス権を持っていないリソースにアクセスしようとしたときに私のサーバーは、403禁断のエラーを返します。ヘッダと共にサーバは、エラーを説明する小さなメッセージを書き込みます。

Firefoxではエラーメッセージがうまく表示され、ユーザは、何が起こっているか知っています。

Internet Explorerではメッセージが403禁止標準エラーページを非表示になって交換されます。

まだ禁断の403にステータスを設定しながら、私はすべてのブラウザ間でのエラーメッセージを表示することができ、特定のルールがありますか。

ここでは、この状況のRFCの情報は、次のとおりです。

  

サーバーは要求を理解したが、   それを満たすために拒否しています。   承認は助けません。   リクエストは繰り返されるべきではありません。もし   リクエストメソッドがHEADとではなかったです   サーバーは、公開することを希望する理由   要求は、それを充足していません   理由を説明する必要があり   エンティティで拒否。サーバーの場合   この情報を作成したくありません   クライアントが利用可能な、状況   コード404(見つかりません)を使用することができます   その代わります。

私はメッセージを設定する必要があるように思えるが、IEはそれを表示されません。

役に立ちましたか?

解決

あなたの403ページに大きい(すなわち、より多くのバイト)を作ってみましょう。一部のブラウザでは、短いエラーページは、Webサーバからのデフォルトページであると仮定し、独自の、おそらくより有用テキストを表示することを決定します。

詳細情報。

他のヒント

エラー処理の実装はブラウザに依存しています。あなただけの403エラーを返すしようとしている場合、HTTPでは、あなたはそれが適当と考える方法を処理するために(ブラウザのための技術的な名前は、エラー・メッセージの受信者は、ブラウザではないかもしれない)ユーザエージェントに依存する必要があります。

あなたはブラウザが403エラーを処理する方法を好きで、その後、独自にユーザーをリダイレクトするすべてのブラウザ間で一貫したユーザーエクスペリエンスを確保したくない場合はページを「アクセス許可が拒否されました」。あなたは、許可が拒否された理由を彼らに説明することができ、彼らはそれについて行うことができるかもしれないもののページを構築することができます。そして、それはすべてのブラウザで一貫されます。

scroll top