Evernote Web Clipper和内容安全策略

时间:2015-06-08 08:24:42

标签: security safari evernote browser-plugin content-security-policy

我们目前正在向网站介绍内容安全政策。首先插入Content-Security-Policy-Report-Only标题以获得有关影响的一些反馈。很快我们发现Safari浏览器中的Evernote Web Clipper插件违反了CSP指令,因为它似乎在页面中注入了一些代码。

我们在CSP报告中得到了这个:

{"csp-report":
    {
        "document-uri":"http://example.com/index.html",
        "violated-directive":"default-src 'self'",
        "original-policy":"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; report-uri http://example.com/report.html",
        "blocked-uri":"safari-extension://com.evernote.safari.clipper-uahs7eh2ja",
        "source-file":"http://example.com/js/jquery.js",
        "line-number":2
    }
}

我们如何修改CSP标头以便不阻止Evernote Web Clipper插件? blocked-uri似乎在最后包含一个特定于用户的id,这使得它非常困难。

1 个答案:

答案 0 :(得分:0)

你是对的,被阻止的uri的最后一点确实因计算机而异,你不能使用通配符将它列入白名单。解锁Web Clipper的唯一方法是通过将safari-extension://*放入default-src来取消阻止所有Safari扩展,因此您的策略将如下所示

default-src 'self' safari-extension://*; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; report-uri http://example.com/report.html