github - GitHub README 图片损坏 - “违反以下内容安全策略指令:“img-src 'self'”
问题描述
SO社区,
我在我的 GitHub 存储库 README 中使用嵌入式图像(图标、屏幕截图等),今天注意到我的所有图像在不久前(大约一周左右)之前工作时都损坏了。一些开发者朋友的 repos 显示相同的症状和浏览器控制台错误:
Refused to load the image 'https://raw.githubusercontent.com.x.912eb622002e804d2d0bc98027f64e5bb4af.9270fa5c.id.opendns.co
m/s/raw.githubusercontent.com/terrencemm2/terrencemm2/main/assets/japanese_flag.png?X-OpenDNS-
Session=_912eb622002e804d2d0bc98027f64e5bb4af9270fa5c_MHRsNPzb_' because it violates the
following Content Security Policy directive: "img-src 'self' data: github.githubassets.com
identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com
*.githubusercontent.com".
注意:这些是正确的,并在单独的选项卡/窗口中显示正确的图像。
通常,我专门创建了一个单独的、未合并的分支media
,其中包含我想在 README 中使用的任何图像,然后像这样链接它们......
选项 1:<img>
使用完整的原始内容 URL。
<img src="https://raw.githubusercontent.com/terrencemm2/terrencemm2/main/assets/azure.png" height=14 />
选项2:<img>
使用相对路径。
<img align="right" width="100" height="100" src="../media/logo.png?raw=true">
选项 3:每个https://guides.github.com/features/mastering-markdown/的图像 Markdown 语法。
![Screenshot](../media/screenshot.png?raw=true)
解决方案
您用于此 URL 的域不正确。而不是raw.githubusercontent.com
,您正在尝试访问 domain raw.githubusercontent.com.x.912eb622002e804d2d0bc98027f64e5bb4af.9270fa5c.id.opendns.com
,而 GitHub 的 Content-Security-Policy 标头不允许这样做。
很可能,您所在的网络带有 TLS 中间人设备,该设备正在篡改您的数据。这是不安全的,并且您的浏览器正确地拒绝从该位置加载数据,因为 GitHub 的 Content-Security-Policy 不允许加载该数据。您应该禁用此 TLS 篡改或联系您的网络管理员并告知他们此问题,要求他们及时更正。如果不这样做,就没有办法解决这个问题。
推荐阅读
- css - CSS 在 Firefox 和 Safari 中不起作用,但在 Chrome 中完美运行
- ios - 如何从 tvOS 上的视频中删除进度条或视频条?
- django - Django admin:如何从父级重定向到子级模型的视图?
- android - 数据共享首选项的问题 - Flutter
- javascript - 选择其中嵌套了另一个具有特定值的对象的 JSON 对象?
- java - 有没有一种快速的方法来使用 Java 中的构造函数参数分配多个类变量?
- twilio - “调用 getUserMedia 失败:DOMException”使用 Chrome 版本“版本 72.0.3626.96”的 Twilio 视频通话
- android - MediaPlayer、RecyclerAdapter 显示几个播放按钮
- .htaccess - 在网站二上显示网站一的内容
- raspberry-pi - 在 XServer 中的特定 DISPLAY 上运行 SDL/OpenGLES 应用程序