HTTPエラー403Forbidden:その意味と修正方法

オンライン中にエラーコードを受け取ると、イライラすることがあります。404 Not Foundページに慣れてきましたが、迷子になったときにかわいいプレースホルダーページが表示されることが一般的になっている場合でも、さらに不可解なエラーの1つは403:Forbiddenresponseです。

どういう意味ですか?

簡単に言えば、サーバーは、要求したものへのアクセスが許可されていないと判断しました。

RFC 7231によると:

403(Forbidden)ステータスコードは、サーバーがリクエストを理解したが、それを承認することを拒否したことを示します...リクエストで認証資格情報が提供された場合、サーバーはそれらがアクセスを許可するには不十分であると見なします。

403応答は、HTTP応答の4xx範囲に属します:クライアントエラー。これは、あなたまたはあなたのブラウザのいずれかが何か間違ったことをしたことを意味します。

これに遭遇した場合、それは通常、サーバーで自分自身を認証済み、つまりログインしていることを意味しますが、要求したリソースはより高い特権を持つ誰かを期待しています。

最も一般的には、標準ユーザーとしてログインしている可能性がありますが、管理ページにアクセスしようとしています。

どのように修正しますか?

サーバーにアクセスできないユーザーとして、実際にはいくつかのオプションしかありません。

より適切なアカウントで自分自身を認証する

繰り返しますが、RFC7231によると:

リクエストで認証資格情報が提供された場合、サーバーはそれらがアクセスを許可するには不十分であると見なします。クライアントは、同じ資格情報を使用して要求を自動的に繰り返すべきではありません(SHOULDNOT)。クライアントは、新しい資格情報または異なる資格情報を使用して要求を繰り返すことができます。

これは、問題を修正するための即時の力を与える唯一のものです。

サイトに複数のアカウントがあり、通常できることを実行しようとしているが、今回は実行が禁止されている場合は、これを試す必要があります。他のアカウントでログインします。

別のユーザーが以前の認証トークンを十分にフラッシュしていないためにログインした場合に備えて、このオプションではキャッシュまたはCookieをクリアする必要がある場合もあります。しかし、これは通常不要です。

必死の動きとして、サイトの使用を妨げる可能性のあるブラウザ拡張機能を無効にすることもできます。ただし、403は認証されているが許可されていないことを意味するため、これは起こりそうにありません。

それ以外の場合に予想されるときに403が返されることをサイト所有者に通知します

問題のリソースにアクセスできるはずであると完全に期待しているにもかかわらず、このエラーが引き続き表示される場合は、サイトの背後にいるチームに通知することをお勧めします。これは、チーム側のエラーである可能性があります。

RFC 7231からもう一度:

ただし、認証情報とは関係のない理由でリクエストが禁止される場合があります。

これが意図せずに発生する一般的な原因は、サーバーが特定のIPアドレスまたは地理的領域に許可リストまたは拒否リストを使用していることです。

厳密に定義されたパラメータの範囲外でアクセスをブロックする正当な理由があるかもしれませんが、それは単に見落としである可能性もあります。

あきらめる。

たぶん、あなたはそのリソースにアクセスすることができないはずです。それは起こります。それは大きなインターネットであり、個人的に立ち入り禁止のエリアがあると予想するのは合理的です。

元のリクエストが禁止された理由を反芻しながら、代わりにhttp.catにアクセスできます。

freeCodeCamp Newsの読者として、Twitterで@JacksonBatesをフォローして、技術やプログラミングに関連するコンテンツを増やすことを禁じられているわけではありません。