私の質問は、「正しい」エラー コードを返すか、プライバシーを保護しますか? 、しかし、いくつかの異なる答えを聞きたいです。
ログインしていないユーザーがほとんどのページにアクセスできる WEB サイトがあります。ただし、ログインしていないユーザーが承認を必要とするリソース (ページ) にアクセスしようとすると (ユーザーは FooRole ロールを持っている必要があります)、自動的にログイン ページにリダイレクトし、正しい資格情報を提供した後、制限されたリソースに戻ります。ユーザーが正しいクレデンシャルを提供したが、たまたまアクセス権が不十分だった場合 (BarRole は持っているが FooRole を持っていない)、Web サイトはどうすればよいでしょうか?
現在の実装では、HTTP 403 応答を返します (禁止されています)。しかし、一部の開発者は、404 コードの方がセキュリティが向上するため、返さなければならないと主張しています。ユーザーは、存在しないリソースとアクセスできないリソースを区別すべきではありません。セキュリティの観点からは 404 を返すほうがよいかもしれませんが、説明されている状況では、ユーザーはログイン ページにリダイレクトされ、その動作はそのようなページが存在することを「示唆」するため、論理的には 404 を返しません (私の考えです)。ユーザーがすでに承認されており、制限されたリソースにアクセスしようとする (URL を直接変更する) 場合、論理的には 404 エラーが返される可能性があります。
たぶん、そのような「ログインへの自動リダイレクト」機能は良くないですか?そのような状況で、より「標準/良い/ユーザーフレンドリー/ハックフリー」の動作はどれですか?
ありがとう!