Github上具有以下Content Security Policy:内容安全策略和书签
内容安全-政策:默认-SRC *; script-src assets-cdn.github.com www.google-analytics.com collector-cdn.github.com; object-src assets-cdn.github.com; style-src 'self''unsafe-inline''unsafe-eval'assets-cdn.github.com; img-src 'self'data:assets-cdn.github.com identicons.github.com www.google-analytics.com collector.githubapp.com * .githubusercontent.com * .gravatar.com * .wp.com ; media-src'none'; frame-src'self'render.githubusercontent.com www.youtube.com player.vimeo.com checkout.paypal.com; font-src assets-cdn.github.com; 连接-SRC“自我” ghconduit.com:25035 live.github.com uploads.github.com s3.amazonaws.com
我们可以剪辑/与服务的浏览器扩展检索的网页内容喜欢的Evernote或口袋。
我在这个Github政策中没有看到任何对Pocket或Evernote的引用。有人可以解释为什么Pocket扩展能够从Github检索内容,而Evernote扩展没有,具有CSP error)
CSP策略是否可以防止加载小书签应用或浏览器扩展应用(如裁剪器)?如果是这样,Pocket如何能够在任何内容上进行扩展?
我们已经在我们的bookmarklet /扩展这个问题,我想他们的工作掌上扩展顺利,但我真的不知道从哪里开始...谢谢
编辑: 随着人们在评论中要求的代码,我们的书签加载这个JavaScript:
javascript: (function() {
function loadScript(a, b) {
var c = document.createElement('script');
c.type = 'text/javascript';
c.src = a;
var d = document.getElementsByTagName('head')[0],
done = false;
c.onload = c.onreadystatechange = function() {
if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
done = true;
b()
}
};
d.appendChild(c)
}
loadScript('http://localhostsss.com:9000/assets/js/backbone/views/clipping/clippinglocal.js', function() {
s.clipping.initClipping()
})
})()
如果我尝试在一个页面中,其中有一个CSP推出这个书签,我得到以下错误。
拒绝加载脚本 'http://localhostssss.com:9000/assets/js/backbone/views/clipping/clippinglocal.js' 因为它违反了以下内容安全策略指令: “脚本的src'不安全-EVAL '不安全内联' 有关: https://开头。 akamaihd.net HTTP:// .baidu.com https://bitly.com https://开头.cloudfront.net https://开头 .facebook.com https://开头.facebook.net https://getpocket.com https://开头 .github .com https:// .googleapis.com https://ssl.google-analytics.comhttps://app.greenhouse.io https://开头 .medium.com https://myspace.com https://开头.pinterest.com https://www.readability.comhttps://thinkery.mehttps://this.cm https://开头 .twitter.com https://use.typekit.net的https://*.instapaper.com 自我“”。
有人可以告诉我如何使我们的书签可加载在像中等或Github的网站上,这些网站有CSP策略。
我不能谈论这么多关于浏览器扩展的问题,因为我还没有开发它,而且这个人不在这里。我只知道我们有同样的问题,我们的浏览器扩展与我们的bookmarklets基本上是相同的代码,只是它有点适合浏览器扩展外壳。如果你只能回答书签的情况下,我会没事的,接受答案,但任何提示浏览器扩展将不错:)
我可以请求更多的上下文吗?这是关于github应用程序或网页的问题吗? evernote与evernote应用程序或网页有问题吗?如果这是github应用程序的问题,并且您希望允许您的应用程序与evernote网站通信,则需要在manifest.json中添加权限。 – 2014-08-27 16:54:05
@ petewil-G我们正在开发一款类似Evernote/Pocket的剪辑器,我们需要能够使用CSP策略(如Github或Medium)剪辑网站上的内容。我们同时拥有书签和浏览器扩展('manifest.json'不适用于我认为的bookmarklets) – 2014-08-27 17:11:24
请删除google-chrome-app标记,因为此问题与Chrome应用无关。 – 2014-08-27 20:51:23