【问题标题】:CSP error with Disqus on github pagesgithub页面上Disqus的CSP错误
【发布时间】:2017-01-08 06:24:17
【问题描述】:

我在 github pages 上有一个 jekyll based blog,其 cmets 由 Disqus 提供。或者更准确地说:他们曾经得到 Disqus 的服务。我发现,Disqus 的东西无法加载。

在 Chrome 中,我在控制台中看到以下错误:

拒绝加载脚本 '的数据:应用程序/ JavaScript的; BASE64,KGZ1bmN0aW9uKCkgewoJdmFyIG5vb3BmbiA9IGZ1 ... gpKTsKCQkJfQoJCX0KCX0pKCk7Cgl3aW5kb3cuX2dhcSA9IGdhcS5xZiA9IGdhcTsKfSkoKTs =',因为它违反了以下内容安全政策指令:“脚本SRC https://开头的 .twitter.com: em> https://a.disquscdn.com .services.disqus.com: https://c.disquscdn.com http://.twitter.com: https://apis.google.com/js/api.js http://a.disquscdn.com https://cdn.syndication.twimg.com/tweets.json https:// /.services.disqus.com: https://connect.facebook.net/en_US/sdk.js https://referrer.disqus.com/juggler/ 'unsafe-eval' a.disquscdn.com http://disqus.com https://ssl.google-analytics.com https://disqus.com"。

我一开始以为 Disqus 做的很蠢,但我发现 this article 这让我觉得我做错了什么,比如使用 jquery 加载 Disqus。但我看不出是什么原因造成的。

我的另一个想法是,也许我的 cookie 横幅或 privace badger 引起了问题,但 Privacy Badger 被配置为仅阻止网站上的谷歌分析,即使允许这样做,也无法正常工作。

在本地运行jekyll serve 时,一切都按预期工作。

我排除了 cookie 横幅作为问题的根源,通过暂时删除它,对 Disqus 没有任何影响

我不认为this SO question 是同样的问题,因为我没有 iframe。

我的实际问题包括三个部分:

  1. 如何调试此类问题?
  2. 问题的根本原因是什么?
  3. 我该如何解决?

【问题讨论】:

  • 我完全遇到了这个问题。解决方案是关闭我的广告拦截器。

标签: github-pages disqus content-security-policy


【解决方案1】:

在您的disqus_config 中,您有:

this.page.url = 'http://blog.schauderhaft.dehttp://blog.schauderhaft.de/';

因为硬编码的基本 URL 和 | prepend: site.url in _includes/disqus.html 的组合:

this.page.url = 'http://blog.schauderhaft.de{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}';

这应该可以正常工作:

this.page.url = '{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}';

如果您禁用所有扩展,CSP 错误应该会消失。 Disqus 可能会尝试解决在启用 CSP 的情况下无法正确测试的阻止程序;没有来源很难分辨。

【讨论】:

  • 感谢 Ryan,我自己找到了。我讨厌同时出现两个问题,其中一个导致实际问题,但只有另一个在日志中触发错误消息
  • 你能举个例子说明this.page.url应该是一个字符串吗?我没有使用 jekyl。
  • 奇怪的是,这不是他们在安装过程中链接的帮助文档,而是一个非常不具体的文档,没有示例
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
  • 2019-01-06
  • 1970-01-01
  • 2018-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多