Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

ERR_BLOCKED_BY_XSS_AUDITORエラーの原因と解決方法【Chrome】

Chromeは常に活発な開発が続けられており、新機能の追加やセキュリティの強化を目的として、新しいバージョンが定期的にリリースされています。Chromeは単なるブラウジングツールにとどまらず、開発者が利用する多くのWebサービスの中核としても使われています。

ERR_BLOCKED_BY_XSS_AUDITORエラーの原因と解決方法【Chrome】

最近のChrome 57ビルドでは、XSSオーディター(XSS Auditor)による検出機能が大幅に強化されました。この変更に伴い、新しいガイドラインが適用された結果、一部のWebサービスが動作しなくなり、「ERR_BLOCKED_BY_XSS_AUDITOR」というエラーメッセージが表示されるケースが発生しました。

このエラーは、HTMLコンテンツがPOSTメソッドを使ってリクエスト本文に含めて送信される際に発生します。Google ChromeにはXSSセキュリティ機能が搭載されており、フォーム経由で送信されるHTMLを常時分析し、危険と判断したリクエストをブロックします。これにより、悪意のあるフォーム送信を防ぎ、XSS(クロスサイトスクリプティング)攻撃を未然に回避できる仕組みです。

「ERR_BLOCKED_BY_XSS_AUDITOR」エラーが発生する原因

前述のとおり、最新ビルドのChromeではXSSオーディターが刷新され、XSS脆弱性が悪用されないようになっています。そのため、ソースコードを対応させていない場合、このエラーメッセージが表示される可能性があります。

多くの場合、これは誤検知(false positive)です。ブラウザが「クロスサイトスクリプティング攻撃」を受けていると誤って判断してしまうのです。こうした攻撃は、本来ウェブサイトの表示に関係しないJavaScriptやHTMLを、ブラウザに描画させることで成立します。

解決策1:サイト管理者の場合

あなたがサイト管理者で、通常の利用中にこのエラーが発生している場合は、POSTヘッダーに特定のページヘッダーを追加することで一時的に回避できます。ただし、これはあくまで暫定的な対応であり、XSSオーディターのリクエストを正しく処理する恒久的な対策を実装するまでのつなぎとしてご利用ください。

PHPの場合

PHPファイルに以下のヘッダーを追加します:

header('X-XSS-Protection:0');

ASP.NETの場合

ここでは、ソースコードに適切なハンドラーを追加できるまでの間、XSS保護を一時的に無効化します。

HttpContext.Response.AddHeader("X-XSS-Protection","0");

Web.Configファイルを編集する場合は、代わりに以下のコードを追加してください:

<system.webServer>

<httpProtocol>

<customHeaders>

<add name="X-XSS-Protection" value="0" />

</customHeaders>

[...]

ASP.NETサーバーリクエスト検証

場合によっては、必要なヘッダーを追加してもサーバーがPOSTリクエストを拒否することがあります。その際の別の回避策として、「Request.Unvalidated」を使用する方法があります。これは「安全でない」データリクエストの取得専用に用意されたオブジェクトです。

var code = Request.Unvalidated.Form["code"];

この方法は、主にASP.NET Request Validationでのみ有効です。

Webフォームを使用している場合は、次のように記述できます:

<@ Page validateRequest="false" %>

MVCを使用している場合は、コントローラーの属性として「[ValidateInput(false)]」を指定することで、検証をスキップできます。

[ValidateInput(false)]

public ActionResult Convert(CodeRequest request)

{ ... }

IIS HttpRuntime設定

IIS ExpressはVisual StudioがWebサービスで利用するもので、現在もっとも広く使われているアーキテクチャの一つです。ASP.NETを使用している場合、IISがASP.NETに制御が渡る前の段階でリクエストをブロックすることがあります。web.configで以下のコードを使ってこの挙動を無効化し、従来の動作を取り戻しましょう:

<httpRuntime requestValidationMode="2.0"/>

この設定を行わない場合、IISはリクエストがASP.NETに渡される前に失敗し、拒否してしまいます。

注意:これらの回避策は、サイトにアクセスできず損失が発生している状況での応急措置としては有効です。しかし、必ず最終的にはソースコードを修正し、XSSオーディターに正しく対応できるようにしてください。あくまで恒久的な修正が完了するまでの一時的な利用にとどめることをおすすめします。

解決策2:サイト管理者でない場合

一般ユーザーでサイトへのアクセス権限や管理権限がない場合は、XSSオーディターを無効にした状態でChromeを起動する方法を試せます。Google Chromeのショートカットを作成し、必要なフラグを追加して起動する手順を見ていきましょう。

  1. デスクトップ上の任意の場所を右クリックし、「新規作成 > ショートカット」を選択します。
  2. お使いのパソコンにインストールされているChromeのバージョンに合わせて、以下のコマンドを貼り付けます。

64ビット版Chromeの場合

"C:\Program Files\Google\Chrome\Application\chrome.exe" -disable-xss-auditor

32ビット版Chromeの場合

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-xss-auditor
ERR_BLOCKED_BY_XSS_AUDITORエラーの原因と解決方法【Chrome】
  1. Chromeのショートカットが作成されます。このショートカットからChromeを起動し、対象のウェブサイトにアクセスして、エラーメッセージが解消されているか確認してください。

注意:この方法はブラウザのXSSオーディターを無効化するものであり、XSSオーディターはセキュリティ機構の重要な一部です。実行は自己責任でお願いします。また、この機能は一時的な利用にとどめることを強くおすすめします。

  1. ChromeでShockwave Flashがクラッシュする問題を解決する11の方法

    多くのユーザーから、Windows 10環境のChromeにおいて、閲覧中のページやコンテンツの種類に関係なくShockwave Flashが頻繁にクラッシュするという報告が寄せられています。問題がChromeブラウザーだけに限定されていると指摘する声もある一方で、Microsoft EdgeやInternet Explorerにも影響するシステム全体の問題だとする意見もあります。 なお、Adobe社は2020年末をもってFlash Player(Shockwave Flash)のサポートを終了しています。現在もFlashコンテンツが必要な特殊な環境向けの情報として、本記事では効果的なトラブル

  2. HuluがChromeで動作しない・再生できない時の対処法を完全解説

    Google ChromeでHuluが再生できない、読み込まない、または「サポートされていないブラウザ」と表示される問題に直面していませんか?Google ChromeとHuluはどちらも利用者が非常に多く、日常的に使われている主要プラットフォームですが、近年Chrome上でHuluが正常に動作しないという報告が増えています。この問題は、ブラウザやPC側の一時的な不具合が原因で発生することがあります。本記事では、HuluがChromeで読み込まれない問題を解決するための具体的な方法を詳しく解説します。 HuluがChromeで動作しない問題の解決方法 まず、HuluがGoogle Chrom