web-dev-qa-db-ja.com

ユーザーに「アクセス拒否」ページを表示するか、ランディングページにリダイレクトします

特定の役割の認証されたユーザーが、ユーザーの役割に権限がないページに(手動でURLを入力して)アクセスしようとしている場合:アクセスが拒否されたページを表示するか、ユーザーをランディングページにリダイレクトしますか? UXとセキュリティの観点からの回答が必要です。

4
Antony

セキュリティ上の懸念のための3番目のオプションがあります:ページの存在を拒否する

エンタープライズソフトウェアに取り組んでいるときに、私たちのプラットフォームを使用しているお客様に機能のリクエストを見つけました。

認証されていない(または禁止されている)ユーザーに、特定の種類のコンテンツが、権限を持たないユーザーにも存在することを示したり示唆したりしたくない顧客

したがって、「403 Forbidden」ページの代わりに、解決策は404を与えることでした。ホームページへのリンク、右上のログインフォーム、および検索フィールドを使用して、あいまいな表現を維持しました。

Github 404ページの例を次に示します(これは生意気なため、サイトに適さない可能性があります)。

enter image description here

あなたは同じセキュリティや知的財産の問題を抱えていない可能性があります。その場合、403ページは少なくとも追加の権限が必要であることを彼らに知らせます(しかし、彼らは存在するコンテンツがあることを知っています)。

ユーザーをホームページに誘導しても、十分な権限がないことは通知されず、これが見つからないコンテンツと間違えたり、実際には権限の問題であるにもかかわらず、間違ったURLを持っているとユーザーに思わせたりする可能性があります。

私たち(および私たちの顧客)のセキュリティ上の懸念により、404がより良いソリューションであると結論付けました。

7
Mike M