Google Chrome ERR_BLOCKED_BY_XSS_AUDITOR

 Google Chromeである画面のポスト時に、

このページは動作していません このページで通常と異なるコードを検出したため、個人情報(例: パスワード、電話番号、クレジット カード番号)を保護するために、ページをブロックしました。
ERR_BLOCKED_BY_XSS_AUDITOR

 という表示になり先に進めなくなりました。
 ググってみるとChromeのVer56以降で出現するセキュリティ上のエラーのようです。SSL対応していないと出るとかiframeがあると出るとか、いろいろなことな説が飛び交っていますが、少なくともSSL対応していても発生します。
 わたしが遭遇したのは一般ユーザーの入らないbasic認証のかかった管理画面で、常時SSL対応している箇所です。
 全く問題のない箇所でERR_BLOCKED_BY_XSS_AUDITORが出るのは実際上バグでしょうし、今後のバージョンで修正されると思います。
 ただこの管理画面で同じ操作をしても、ERR_BLOCKED_BY_XSS_AUDITORとなる場合とならない場合があるため、何がキーになっているのか色々試してみたところ、管理画面の入力ミスでvalidationに引っかかった時に出ていることがわかりました。
 引っかかると言っても純粋な業務エラーですので、ブラウザにガタガタ言われる状況ではありません。ただ、このvalidationエラーでは管理用に入力値にダンプを吐く仕様になっていて、そのダンプの中にiframeを含む文字列がある(つまり放っておくとそのまま管理画面上にiframeが入れられてしまう)とわかりました。まぁ、人様にお見せする画面であればこんな仕様はあり得ないのですが、内々しか触らない画面ということでこうなっているのでしょうし、業務上は問題ないのです。
 ただまぁ、常識的に言ってあまり上品な仕様ではありませんので、一応修正したところ、ERR_BLOCKED_BY_XSS_AUDITORも発生しなくなりました。

 いずれにせよブラウザが警告する話ではないので修正されると信じているのですが、もしかしてこんなことまでGoogle様の言う通りにしないといけないご時世なんでしょうかね。

追記:

実験した訳ではないので確証はありませんが、おそらく

①POST内容にiframeを含むhtml文字列がある
②そのPOST内容が(textarea内などではなく)直接結果ページに表示される

パターンでERR_BLOCKED_BY_XSS_AUDITORが発生しているのでは?と推測しています。
ググってみるとCMSの管理画面等でadsenseのコードを追加しようとした際にも発生しているようです。
何らかの形でプレビュー画面などをオフにすることができれば、とりあえず回避できるかもしれません。予想ですが…。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする