Chromeでアクセスした時に限って「403 Forbidden」エラーになる場合の対処法

forbidden_in_google_chrome.png

Google Chromeで特定のサイトやページにアクセスすると「Forbidden」「You don’t have permission to access … on this server.」というエラーメッセージで閲覧が許可されない(403エラー)ことがあります。

IEやFirefox、Safariなどその他のブラウザでは問題ないのですが、なぜかChromeでのみ発生するのです。 接続環境が悪い? たくさん入れたアドオンのせい?など色々と試行錯誤するのですが一向に改善しません。 OSの種類を問わず発生する問題です。

サーバーとブラウザの設定の組み合わせに原因があった!

この現象は、実は以下の条件を満たした場合に発生します。

  • WEBサーバーが特定の言語設定になっているブラウザを拒否するようにしている。
  • ブラウザがその特定の言語を言語設定に含めている。

たとえばこういう場合です。

Webサイト側は中国からのアクセスを禁止にしたいので、中国語(zh)の言語設定が含まれているブラウザをアクセス禁止にします。 これはけっこう簡単にできちゃいます。

不正アクセスや攻撃がけっこうありますからね。気持ちは分かります。

ところが、Google Chromeでは他言語のページを表示させた際に翻訳をするかどうかを尋ねることがあり、翻訳を許可するとその言語設定が自動で追加されるようになっています。

2014-09-18-20-08-47.png
このように、百度(中国の検索エンジン大手)で検索した場合にも出る

この機能によって、ブラウザで中国語ページを表示させて翻訳したことがある場合、中国語が言語設定に含まれているため、Webサーバーがアクセスを禁止してしまうのです。 それが「Forbidden」というエラーです。

解決策:言語設定から対象の言語を削除するだけ

これを解除するには、以下のように「設定」→「詳細設定を表示…」→「言語と入力の設定…」から対象の(今回の例でいうと「中国語」「中国語(簡体字)」を削除するだけです。

chrome_delete_zh_language_setting.png

根本的な対策としては、サーバーの運営会社に対象の言語制限を解除してもらう必要があるのですが、どう考えても無理な話なので、閲覧ユーザー側でリストから対象の言語を無くすのが手っ取り早いと思います。

大抵、日本語、英語以外の言語が怪しいです。

サーバーの運営会社からすると、不正なアクセスのリスクを軽減できる一方で、ユーザーを知らないうちに逃してしまっていることも認識しておいたほうが良いでしょう。 なかなか頭が痛い問題です。

お役に立てば幸いです。 では!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2014-09-18