HTTP错误码403禁止:意味着什么,怎么修复它

5,698 阅读3分钟

在上网的时候,收到任何的错误码都是让人沮丧的体验。尽管我们已经习惯于404页面找不到,我们在页面迷失的时候,看到可爱的占位符来娱乐我们是很常见的事情了。但是有种更令人困惑的403错误:禁止响应。

403意味着什么?

简单来说:当你发起请求的时候,服务端决定了你没有权限访问。

根据RFC 7231

403(禁止)状态码表明服务端已经明白请求,但是拒绝授权...如果请求中提供了授权的身份认证,服务端认为它们不足以授予访问权限。

403响应是属于客户端错误4xx范围的HTTP响应。这意味着你或者你的浏览器做错了什么。

如果你遇到这个,这通常意味着你已经通过服务器进行了身份验证,比如你已经登陆,但是你请求的资源希望某人具有更高的特权。

最常见的,你作为一个普通用户登陆系统,但是你尝试去获取管理员(权限的)页面。

你怎么去解决它

作为一个没有访问服务器权限的用户,你实际上只有几种选择:

使用更适合的账号进行身份验证

再者,根据RFC 7231

如果请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限。客户端不应该使用相同的凭证重复请求。客户端可以用新的或不同证书重复请求。

这是唯一使你立刻拥有解决此问题能力的解决方案。

如果你在一个站点上拥有多个账号,并且尝试执行通常可以访问的操作,但是这次被禁止这样做了,那么你应该尝试此方法:使用你的其他账号登陆

你可能会发现,此选项还需要清除缓存或Cookies,以防万一其他用户登陆而导致刷新身份验证令牌失效。但是通常是不需要的操作。

作为一个令人绝望的举动,你还可以尝试禁止可能会干扰你使用网站的浏览器扩展插件。但是,这不太可能,因为403表明你已经通过身份验证,但是未获得授权。

译者加:无法访问站点,翻墙软件也可能导致,请检查是否关闭了代理软件

通知网站所有者:当你想访问内容时候返回了403

如果你希望完全可以访问有问题的资源,但是仍然看到此错误,那么明智的做法就是让网站背后的团队知道 - 这可能是他们的错误

再次引用RFC 7231:

然而,可能由于与凭证无关的原因而禁止请求。

造成这种情况意外发生的常见原因可能是服务器使用特定IP地址或地理区域允许列表或拒绝列表(名单)。

他们可能有充分的理由在严格定义的参数之外阻止你的访问,但是也可能是一个疏忽。

放弃

也许你不应该能够访问该资源。这种情况是会有的。这是一个庞大的互联网,可以合理地预期某些区域对你本人是无法进入的。

你可以通过http.cat站点来反省一下,为什么你的原始请求会被禁止

403

后话