"Chrome detected unusual code" 之前工作的 iframe 出错

"Chrome detected unusual code" error in previously working iframe

我有一个工作正常的 PHP 页面,里面有一个 iframe。突然它在 Chrome 中停止工作并出现此错误:

Chrome detected unusual code on this page and blocked it to protect your personal information...

知道如何解决吗?

环顾四周后发现 Chrome 将 X-XSS-Protection 的默认实现更改为 'X-XSS-Protection: 1; mode=block' (reference)

所以最快的解决方案(并且涉及最少的代码更改)是通过从服务器发送值 0 来禁用 X-XSS-Protection。

这是 PHP

的操作方法
header("X-XSS-Protection: 0");

Chrome 将其 X-XSS-Protection 的默认实现更改为 'X-XSS-Protection: 1; mode=block' 并且这个问题主要出现在 Chrome 版本 60 和 window 10 PC 中,请参见下文参考 link 与此问题相关

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

这里的其他帖子提供了一个答案。但是 none 他们提供任何 code-sample-based 解释 ,所以,我会尝试 :

这是由显示 HTML 的网页引起的 POST,当 HTML 包含 JS 事件触发器时,例如:

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

如果您有一个 iframe,它在 POST 或论坛中接收这样的文本,并且您也显示该文本,那么 Chrome 将发出错误(并有效阻止页面),除非您禁用了 X-XSS-Protection header。

自然地,像这样在独立组件之间传递大量 html 并不是好的设计。