以前工作的 iframe 中出现“Chrome 检测到异常代码”错误
Posted
技术标签:
【中文标题】以前工作的 iframe 中出现“Chrome 检测到异常代码”错误【英文标题】:"Chrome detected unusual code" error in previously working iframe 【发布时间】:2017-12-20 15:22:09 【问题描述】:我有一个运行良好的 php 页面,里面有一个 iframe。突然它在 Chrome 中停止工作并出现此错误:
Chrome 在此页面上检测到异常代码并将其阻止以保护您的个人信息...
知道怎么解决吗?
【问题讨论】:
不理解反对意见,这个问题在 porpoise 上含糊不清,因为它不依赖于页面代码,而是依赖于 Chrome 上的更改。请解释一下,如果您认为缺少某些内容,我可以改进它! 【参考方案1】:看了一圈发现Chrome把X-XSS-Protection的默认实现改成了'X-XSS-Protection: 1; mode=block' (reference)
因此,最快的解决方案(并且涉及的代码更改最少)是通过从服务器发送值 0 来禁用 X-XSS-Protection。
这里是如何从 PHP 中做到这一点
header("X-XSS-Protection: 0");
【讨论】:
【参考方案2】:Chrome 将其 X-XSS-Protection 的默认实现更改为 'X-XSS-Protection: 1; mode=block',主要是在 Chrome 版本 60 和 windows 10 PC 中发现此问题,请参阅以下与此问题相关的参考链接
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
【讨论】:
看起来已经在 Chromium 错误 702542 中为此提交了一个补丁,但谁知道这需要多长时间才能到达主流 Google Chrome。【参考方案3】:这里的其他帖子提供了一个答案。但是他们都没有提供任何基于代码示例的解释,所以,我会尝试:
这是由显示 html 的网页引起的,该网页是 POST
'd,当该 HTML 包含 JS 事件触发器时,例如:
<p class="someParagraph" onClick="doTheMagicThing();">
如果您有一个 iframe,它在 POST
或论坛中接收到这样的文本,并且您也显示了该文本,那么 Chrome 将发出错误(并有效地阻止该页面),除非您有X-XSS-Protection
标头已禁用。
自然地,像这样在独立组件之间传递大量 html 并不被认为是好的设计。
【讨论】:
以上是关于以前工作的 iframe 中出现“Chrome 检测到异常代码”错误的主要内容,如果未能解决你的问题,请参考以下文章