假设我有 ID 为 1、2、3、4 的任务。用户 A 只能访问 1 和 2。
- 如果他尝试访问未授权的任务 #3,我应该给出 404 还是只是说他未授权?我从登录中得到这个想法,无论用户名是否有效,我总是只给出一个通用的无效用户名/密码组合,以防止用户知道用户/资源是否存在
- 如果他尝试访问不存在的任务#5,我应该给出 404 吗?或者说在通用页面中找不到资源?
最佳答案
假设您的网站的某些页面具有以下访问权限:
- 每个人都可以访问的通用页面。
- 需要登录用户且仍可供大众访问的页面。
- 管理页面,只能由一小部分人访问。
- 不存在的页面。
因此,对于没有权限的访问者,我建议使用:
403(无权限)与2。
404(不存在)与 3,因为一般用户不应该遇到任何指向该页面的链接,因此该页面对他们来说也应该不存在。
显然,4(一个不存在的页面)应该始终导致 404 响应。
关于security - 访问未授权/未找到资源时出现404 Not Found?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577552/