【发布时间】:2009-02-20 04:00:41
【问题描述】:
好的,最好在这里举个例子来说明我的意思。
想象一个基于网络的论坛系统,其中用户身份验证是通过系统知道的某种外部方法完成的。
现在,例如,用户输入他们无权访问的线程的 URL。为此,我应该返回 403(禁止访问),让用户知道他们应该尝试另一种身份验证方法,还是 404,而不是让他们知道那里有东西可以访问。
假设我返回一个 403,当他们访问一个还不存在的主题的 URL 时,我是否也应该返回一个 403?
编辑:上面的例子更像是一个 IRL 的例子。
另一个例子,假设我暴露了类似的东西
/adminnotes/user
如果有关于用户的管理员注释。现在,返回 403 会让用户知道有人在谈论他们。 404 不会说什么。
但是,如果我要返回 403 - 我可以将它返回给 adminnotes/* - 这将解决该问题。
编辑 2:另一个例子。此处软删除的问题返回 404。但是,通过正确的身份验证和访问,您仍然可以看到它们(我想)
【问题讨论】: