内容安全政策违规onmouseout

时间:2017-01-09 19:48:09

标签: javascript firefox content-security-policy

我已在我的应用程序上实施了内容安全策略,它现在只在报告模式下进行测试。在适当调整政策之后,我留下了很多类似的报告:

{
    "csp-report": {
        "blocked-uri": "self",
        "document-uri": "https://example.com/path/to/app/page.php",
        "original-policy": "script-src 'nonce-DrZQpFyD2k9sGWT5' https://example.com https://ajax.googleapis.com https://maps.googleapis.com; default-src https://example.com; style-src https://example.com 'unsafe-inline' https://maxcdn.bootstrapcdn.com; img-src * data:; font-src https://example.com https://maxcdn.bootstrapcdn.com; frame-src https://example.com; frame-ancestors https://example.com; form-action *; report-uri https://<>.report-uri.io/r/default/csp/reportOnly",
        "script-sample": "onmouseout attribute on DIV element",
        "source-file": "https://example.com/path/to/app/page.php?id=143",
        "violated-directive": "script-src 'nonce-DrZQpFyD/k9sGWT5' https://example.com https://ajax.googleapis.com https://maps.googleapis.com https://code.jquery.com/ "
    }
}

该应用程序的大多数用户都使用Chrome,但这些报告仅来自Firefox。有时脚本示例会显示onmouseover或其他一些鼠标事件。我查看了应用程序中的所有代码,并且没有任何地方使用属性鼠标事件。

关于导致这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

很难说肯定。但是,有一种可能性是,您的某些用户安装了浏览器插件,这些插件会在页面中插入HTML,其中包含内联事件处理程序(在本例中为onmouseout)。

检测到这一点很困难。没有办法枚举用户安装的插件;我唯一知道的选择是:

  1. 找出哪些用户正在触发此错误并直接与他们联系 - 这只有在您与用户关系密切时才可行。

  2. 开始安装流行的Firefox插件!最终你可能会找到一个负责任的人。 (但你可能不会。它可能是私人插件或Greasemonkey脚本。)