security - 访问未授权/未找到资源时出现404 Not Found?

标签 security web-applications

假设我有 ID 为 1、2、3、4 的任务。用户 A 只能访问 1 和 2。

  • 如果他尝试访问未授权的任务 #3,我应该给出 404 还是只是说他未授权?我从登录中得到这个想法,无论用户名是否有效,我总是只给出一个通用的无效用户名/密码组合,以防止用户知道用户/资源是否存在
  • 如果他尝试访问不存在的任务#5,我应该给出 404 吗?或者说在通用页面中找不到资源?

最佳答案

假设您的网站的某些页面具有以下访问权限:

  1. 每个人都可以访问的通用页面。
  2. 需要登录用户且仍可供大众访问的页面。
  3. 管理页面,只能由一小部分人访问。
  4. 不存在的页面。

因此,对于没有权限的访问者,我建议使用:
403(无权限)与2
404(不存在)与 3,因为一般用户不应该遇到任何指向该页面的链接,因此该页面对他们来说也应该不存在。
显然,4(一个不存在的页面)应该始终导致 404 响应。

关于security - 访问未授权/未找到资源时出现404 Not Found?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577552/

相关文章:

c - 绕过地址随机化和堆栈粉碎保护 - 缓冲区溢出攻击的可行性

security - 如果 OAuth2 访问 token 可以被盗,为什么假设刷新 token 也可以被盗是不安全的?

perl - Mojolicious 和 Hypnotoad 是如何工作的?

javascript - 如何在用户执行 "scroll"或 "touch"或 "Click"事件时关闭移动 View 中的侧边栏

javascript - 如何在 google.script 之间导航

oracle - 授予权限级联吗?

security - 具有 2 个 DNS 名称的服务器上的 SSH 登录警告消息

Java EE 安全/编程登录 : How does one make the authentication "stick" in the session?

java - 将 session 传递给另一个 Web 应用程序

java - 一个Maven war项目中要打包的不同文件