Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【译】HTTP错误码403禁止:意味着什么,怎么修复它 #55

Open
reng99 opened this issue Dec 21, 2019 · 0 comments
Open

【译】HTTP错误码403禁止:意味着什么,怎么修复它 #55

reng99 opened this issue Dec 21, 2019 · 0 comments
Labels
blog a single blog

Comments

@reng99
Copy link
Owner

reng99 commented Dec 21, 2019

banner

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

403意味着什么?

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

根据RFC 7231

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

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

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

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

你怎么去解决它

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

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

再者,根据RFC 7231

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

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

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

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

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

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

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

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

再次引用RFC 7231:

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

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

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

放弃

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

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

403

后话

@reng99 reng99 added the blog a single blog label Dec 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blog a single blog
Projects
None yet
Development

No branches or pull requests

1 participant