内容安全策略阻止AJAX但域名有效

时间:2017-04-15 10:26:33

标签: javascript ajax content-security-policy

我正在使用Firefox控制台从github页面(https://github.com/user/repo/pull/1/files专门)运行一些JS。

我希望能够加载回购文件的内容,为此我正在使用

var client = new XMLHttpRequest();
client.open("GET", "https://github.com/user/repo/raw/master/path-to-file", true);
client.onreadystatechange = function() {
     alert(client.responseText + client.responseURL);
}
client.send();

问题是内容实际上是https://raw.githubusercontent.com/user/repo/master/path-to-file而我正在加载的网址(这是github网页中Raw按钮所指向的网址)正在重定向到那个。< / p>

控制台中的Firefox错误:

Content Security Policy: The page’s settings blocked the loading of a resource at
https://raw.githubusercontent.com/user/repo/master/path-to-file
(“connect-src https://github.com https://uploads.github.com
https://status.github.com https://collector.githubapp.com
https://api.github.com https://www.google-analytics.com
https://github-cloud.s3.amazonaws.com wss://live.github.com”).

有没有办法以某种方式加载该文件?

我认为我需要从github页面运行请求,以便即使文件位于私人仓库中也可以访问(因为在发送请求时使用了用户的会话)。

我正在向CSP中的页面发送请求,并且该页面执行重定向,所以我不明白为什么CSP应该阻止我,因为我没有尝试访问“未经授权”的资源

替代方法是在https://github.com/user/repo/blob/master/path-to-file加载github网页,但这意味着我必须解析它以删除所有显示标记,并且它很脆弱,因为对github的每次更改都可能会破坏脚本。

0 个答案:

没有答案