4
MVC / REST是否应为属于其他用户的资源返回403或404?
当使用基于资源的站点(例如MVC应用程序或REST服务)时,当客户端尝试GET访问他们无权访问的资源时,我们有两个主要选择: 403,表示客户未经授权 ; 要么 404,表示资源不存在(或无法找到)。 共同的智慧和惯例似乎是对事实做出回应-即403。但是我想知道这是否真的是正确的做法。 安全登录系统永远不会告诉您登录失败的原因。也就是说,就客户端而言,不存在的用户名和错误的密码之间没有可检测到的差异。目的是使用户ID(或更糟糕的是电子邮件地址)不易被发现。 从隐私的角度来看,返回404似乎更安全。我想起了一起事件,据说有人通过查看真人秀(幸存者)中的哪些资源不存在而找到了他们。网站与哪些网站做了。我担心403可能会泄露敏感信息,例如序列号或帐号。 是否有令人信服的理由不返回404?404政策会在其他地方产生负面影响吗?如果没有,那为什么不更普遍呢?