Chrome обнаружил необычную ошибку кода в ранее работающем iframe

У меня была отлично работающая PHP-страница с iframe внутри. Внезапно он перестал работать в Chrome с этой ошибкой:

Chrome обнаружил необычный код на этой странице и заблокировал его, чтобы защитить вашу личную информацию...

Есть идеи, как это решить?


person Adrián E    schedule 15.07.2017    source источник
comment
Не понимаю отрицательных голосов, вопрос о морской свинье неясен, потому что он зависит не от кода страницы, а от изменения в Chrome. Пожалуйста, объясните, чтобы я мог улучшить его, если вы думаете, что чего-то не хватает!   -  person Adrián E    schedule 15.07.2017


Ответы (3)


Оглядевшись, обнаружил, что Chrome изменил свою реализацию X-XSS-Protection по умолчанию на «X-XSS-Protection: 1; mode=block' (ссылка)

Таким образом, самое быстрое решение (с наименьшими изменениями в коде) — отключить X-XSS-защиту, отправив с сервера значение 0.

Вот как это сделать из PHP

header("X-XSS-Protection: 0");
person Adrián E    schedule 15.07.2017

Chrome изменил реализацию X-XSS-Protection по умолчанию на «X-XSS-Protection: 1; mode=block', и в основном эта проблема встречается в Chrome версии 60 и Windows 10 на ПК. См. приведенную ниже справочную ссылку, связанную с этой проблемой.

https://bugs.chromium.org/p/chromium/issues/detail?id=702542

https://bugs.chromium.org/p/chromium/issues/detail?id=706038

https://productforums.google.com/forum/#!topic/chrome/4MUJd75N4Jw

person Dipak    schedule 26.09.2017
comment
Похоже, что для этого в Chromium bug 702542 был зафиксирован патч, но кто знает, сколько времени потребуется, чтобы он стал массовым Google Chrome. - person Adambean; 04.03.2019

Другие сообщения здесь предлагают ответ. Но ни один из них не предлагает никакого объяснения на основе примера кода, поэтому я попробую:

Это вызвано тем, что веб-страница отображает HTML-код, который был POST привязан к ней, когда этот HTML-код содержит триггеры событий JS, например:

<p class="someParagraph" onClick="doTheMagicThing();">

Если у вас есть iframe, который получает подобный текст в POST или на форуме, и вы также отображаете этот текст, тогда Chrome выдаст ошибку (и эффективно заблокирует страницу), если у вас не отключен заголовок X-XSS-Protection.

Естественно, такая передача огромных массивов html между независимыми компонентами не считается хорошим дизайном.

person HoldOffHunger    schedule 23.05.2018