我的问题与此返回“正确”错误代码非常相似,还是保护隐私?,但我想听到一些不同的答案。
我们有 WEB 站点,其中大部分页面可能由未登录的用户访问。但是,当未登录用户尝试访问需要授权的资源(页面)时(用户必须具有 FooRole 角色),我们会自动将他重定向到登录页面,并在提供正确的凭据后返回到受限资源。如果用户提供了正确的凭据,但他的访问权限恰好不够(他有 BarRole 但没有 FooRole),应该做什么 WEB 站点?
在当前实现中,我们返回 HTTP 403 响应(禁止)。但是一些开发人员认为必须返回 404 代码,因为它提供了更好的安全性——用户不应该区分不存在和不可访问的资源。从安全的角度来看,返回 404 可能更好,但在所描述的情况下,用户被重定向到登录页面,并且该行为“暗示”该页面存在,因此返回 404 不是很合乎逻辑(这是我的想法)。如果用户已经被授权并尝试访问受限资源(直接修改 URL),那么,它可能在逻辑上返回 404 错误。
也许这种“自动重定向到登录”功能不好?您能建议我在这种情况下哪种行为更“标准/良好/用户友好/无黑客”?
谢谢!